QOJ.ac

QOJ

Límite de tiempo: 2.5 s Límite de memoria: 512 MB Puntuación total: 100

#4621. 跳蛙者

Estadísticas

在著名的卡牌收集游戏《炉石传说》中,有一种名为“酒馆战棋”的模式,基于自走棋类型,允许八名玩家在多轮比赛中通过招募随从来进行竞争。在酒馆战棋中,有一种特殊的随从名为“跳蛙骑士”(leapfrogger),这是一个二星野兽,属性为 3/3,具有亡语:“使一个友方野兽获得 +1/+1 并获得此亡语”。这意味着当该随从死亡时,它会随机使一个友方野兽(如果存在的话)获得 +1/+1 的属性加成以及相同的亡语效果(即当该友方野兽死亡时,它会随机使一个友方野兽获得 +1/+1 以及相同的亡语,以此类推)。

跳蛙骑士的一个有趣之处在于其亡语是可以叠加的,即一个随从可以同时拥有多个(假设为 $k$ 个)跳蛙骑士的亡语。当该随从死亡时,它会随机使一个友方野兽(如果存在的话)获得 +1/+1 的属性加成以及相同的亡语效果,重复 $k$ 次。注意,在 $k$ 次中的每一次,友方野兽都是独立随机选择的。更令人感兴趣的是,酒馆战棋中有一个名为“瑞文戴尔男爵”(Baron Rivendare)的随从,当它在场时,可以使亡语效果翻倍。当瑞文戴尔男爵在场且一个跳蛙骑士死亡时,其亡语会触发并赋予一个随机友方野兽,触发两次。如果两个亡语都被赋予了同一个友方野兽,且该野兽死亡时瑞文戴尔男爵仍在场,那么该野兽身上的每一个跳蛙骑士亡语都会触发两次,从而总共触发四次跳蛙骑士的亡语并赋予随机友方野兽……当瑞文戴尔男爵在场时,跳蛙骑士亡语的传播速度非常惊人,这也是“跳蛙流”在酒馆战棋中成为一种可行且强大的策略的原因。

背景介绍到此为止。接下来我们进行一些简化。我们假设跳蛙骑士的亡语可以赋予给任何随从,而不仅仅是野兽。为了本题的方便,我们还假设所有的亡语都会触发 $k$ 次。问题是:

棋盘上有 $n$ 个随从,其中恰好有一个是跳蛙骑士。如果你以随机顺序杀死这 $n$ 个随从,跳蛙骑士的亡语期望触发多少次?(回想一下,所有亡语都会触发 $k$ 次),请回答对于所有 $k = 2, 3, \dots, m$ 的情况,其中 $m$ 为给定的参数。注意,即使最后一个随从身上的亡语没有赋予给其他随从,它们仍然计为已触发。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。 对于每个测试用例,输入包含一行,包含两个整数 $n$ ($1 \le n < 998244353$) 和 $m$ ($2 \le m \le 10^5$),分别表示随从的数量和参数。

输出格式

输出包含 $m - 1$ 行,其中第 $i$ 行应输出一个数字,表示当所有亡语触发 $k = i + 1$ 次时,跳蛙骑士亡语触发次数的期望值。根据题目给出的数据范围,可以证明答案可以写成一个分数 $\frac{P}{Q}$,其中 $P$ 和 $Q$ 是互质的整数,且 $Q \not\equiv 0 \pmod{998244353}$。你需要输出 $P \cdot Q^{-1} \pmod{998244353}$ 作为答案,其中 $Q^{-1} \pmod{998244353}$ 表示 $Q$ 关于 $998244353$ 的模逆元。

样例

输入 1

1
3 2

输出 1

6

说明

对于样例中的第一个测试用例,我们只需要处理 $k = 2$ 的情况。我们有以下可能性:

  • 跳蛙骑士是第一个被杀死的随从,这种情况发生的概率为 $\frac{1}{3}$,并进一步分为三种情况:
    • 触发的两个亡语被赋予给不同的随从,这种情况发生的概率为 $\frac{1}{3} \times \frac{1}{2} = \frac{1}{6}$,在这种情况下,杀死剩余两个随从的顺序无关紧要,总的亡语触发次数为 $1 \times 2 + 1 \times 2 + 3 \times 2 = 10$。
    • 两个亡语都被赋予给同一个随从,且该随从是下一个被杀死的,这种情况发生的概率为 $\frac{1}{3} \times \frac{1}{4} = \frac{1}{12}$,在这种情况下,总的亡语触发次数为 $1 \times 2 + 2 \times 2 + 4 \times 2 = 14$。
    • 两个亡语都被赋予给同一个随从,且该随从是最后一个被杀死的,这种情况发生的概率为 $\frac{1}{3} \times \frac{1}{4} = \frac{1}{12}$,在这种情况下,总的亡语触发次数为 $1 \times 2 + 2 \times 2 = 6$。
  • 跳蛙骑士是第二个被杀死的随从,这种情况发生的概率为 $\frac{1}{3}$,在这种情况下,总的亡语触发次数为 $1 \times 2 + 2 \times 2 = 6$。
  • 跳蛙骑士是最后一个被杀死的随从,这种情况发生的概率为 $\frac{1}{3}$,在这种情况下,总的亡语触发次数为 $1 \times 2 = 2$。

综上所述,可以证明亡语触发次数的期望值为 6。

Figure 1. 跳蛙骑士(Leapfrogger)与瑞文戴尔男爵(Baron Rivendare)的卡牌效果展示

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.