QOJ.ac

QOJ

时间限制: 10.0 s 内存限制: 1024 MB 总分: 100 可 Hack ✓

#14510. 合唱隊形

统计

J. 合唱队形

作为一名 CPer,小 M 在训练的时候,曾不幸读错一道题目,并遗憾爆零。 时光流逝,如今再来回首,小 M 发现这个错误的题意背后原来也深藏着一个有趣的故事... 或许这会是对你的挑战吧。

回到曾经。你的面前有 $n$ 名学生依次站成了一排,依次标号为 $0, 1, 2, \dots, n-1$。 你打算教他们一些歌曲。歌曲一共有 $m$ 首,依次标号为 $0, 1, 2, \dots, m-1$。一开始这些学生一首歌都不会唱。

你希望这些学生能够学会由此达成的合唱。定义一个从 $x$ 号学生开始的合唱,是由 $x$ 号学生唱 $0$ 号歌曲,由 $x+1$ 号学生唱 $1$ 号歌曲,由 $x+i$ 号学生唱 $i$ 号歌曲 ($\forall i \in [0, m)$)。如果这些学生都会唱了自己的歌曲,那么这个合唱方案就被称为可达成的。

学生标号是不循环的,因此如果上述定义中出现了不合法的标号,就直接认为这个合唱方案不存在。

因为你分身乏术,你每一单位时间打算教其中一个人一首歌曲。 简单来说,你先确定了一个长度为 $S$ 的课程列表 $\Phi = \{(r_1, s_1), (r_2, s_2), \dots, (r_S, s_S)\}$,满足各项 $0 \le r \le n-1$,$0 \le s \le m-1$,且这个列表是可重的。每一单位时间内,你会在课程列表的 $S$ 种方案中等概率独立均匀随机一个 $(r, s)$,然后执行这一课程,也即教 $r$ 号人学会唱第 $s$ 首歌曲。因为你的记性不好,你也有可能重复讲授相同的课程。

对于所有满足 $1 \le p \le n$ 的正整数 $p$ 求出,期望多少单位时间后,开始存在至少 $p$ 种不同的合唱方案,使得这些合唱方案是可达成的。

入力

第一行三个整数 $n, m, S$ ($1 \le m \le n \le 80, 1 \le S \le 15000$)。 接下来 $S$ 行,每行两个整数 $r, s$ ($0 \le r \le n-1, 0 \le s \le m-1$),表示课程列表中的一组课程,满足其为教 $r$ 号学生 $s$ 号歌曲。

出力

一行 $n$ 个整数,表示 $p = 1, 2, \dots, n$ 时依次对应的答案。如果存在请输出对 $998244353$ 取模的结果,否则请在对应位置直接输出 $-1$。

形式化地,令 $M = 998244353$,可以证明,精确答案可以用不可约分数 $\frac{p}{q}$ 表示,其中 $p$ 和 $q$ 是整数且 $q \not\equiv 0 \pmod M$。你需要输出的是 $p \cdot q^{-1} \pmod M$,也就是输出满足 $0 \le x < M$ 且 $qx \equiv p \pmod M$ 的整数 $x$。可以证明,符合条件的 $x$ 是唯一的。

入出力例

入力 1

2 1 2
0 0
1 0

出力 1

1 3

入力 2

5 2 4
0 0
1 1
2 0
3 1

出力 2

665496239 332748126 -1 -1 -1

入力 3

10 1 13
0 0
1 0
2 0
3 0
3 0
3 0
3 0
4 0
5 0
6 0
6 0
6 0
7 0

出力 3

1 177465665 198136383 907170767 930038200 516623876 417879798 928849837 -1 -1

入力 4

5 3 17
0 0
1 0
2 0
2 0
2 0
4 0
0 1
1 1
1 1
2 1
3 1
1 2
2 2
2 2
3 2
4 2
4 2

出力 4

325476536 76195241 263824532 -1 -1

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#508Editorial Open总之是出题人题解myee2026-01-02 21:33:21View PDF

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.