QOJ.ac

QOJ

Límite de tiempo: 4.0 s Límite de memoria: 1024 MB Puntuación total: 100 Hackeable ✓

#9317. 竞争对手

Estadísticas

你在玩一个游戏。游戏中共有 $n$ 个敌人。第 $i$ 个敌人的生命值为 $a_i$,其中前 $c$ 个敌人是“关键”敌人。

游戏共有 $k$ 轮。在每一轮中,令 $S$ 为当前生命值大于 $0$ 的敌人集合(即 $S = \{i \mid 1 \le i \le n \land a_i > 0\}$),你将以相等的概率从集合 $S$ 中选择一个敌人(即对于 $S$ 中的每个 $i$,你以 $\frac{1}{|S|}$ 的概率选中它),并将其生命值减少 $1$(即将 $a_i$ 变为 $a_i - 1$)。

如果在 $k$ 轮结束后,所有“关键”敌人的生命值都已降为 $0$,则你赢得游戏;否则,你输掉游戏。

现在,对于每个满足 $1 \le k \le \sum_{i=1}^n a_i$ 的 $k$,你需要计算在 $k$ 轮后赢得游戏的概率。你只需要输出答案对 $998\,244\,353$ 取模的结果。

输入格式

第一行包含两个整数 $n, c$ ($1 \le c \le n \le 30$),分别表示敌人的总数和“关键”敌人的数量。

第二行包含 $n$ 个整数,其中第 $i$ 个整数为 $a_i$ ($1 \le a_i \le 10$),表示第 $i$ 个敌人初始的生命值。

输出格式

输出共 $\sum_{i=1}^n a_i$ 个整数。第 $k$ 个整数表示在 $k$ 轮后赢得游戏的概率,结果对 $998\,244\,353$ 取模。

样例

输入 1

5 3
1 1 1 1 1

输出 1

0 0 299473306 199648871 1

输入 2

8 5
3 5 3 2 2 5 4 4

输出 2

0 0 0 0 0 0 0 0 0 0 0 0 0 0 851829480 293319617 60309444

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1336EditorialOpenNew Editorial for Problem #9317ucup-team78702026-03-28 10:03:18View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.