AT_abc409_g [ABC409G] Accumulation of Wealth

题目描述

[problemUrl]: https://atcoder.jp/contests/abc409/tasks/abc409_g 给定一个不小于 2 的整数 $N$ 和一个介于 0 到 100 之间的整数 $P$。令 $p = P/100$。 初始时,数列 $A$ 的长度为 1,唯一的元素是 1。 对数列 $A$ 重复进行以下操作 $N-1$ 次: 1. 设 $m$ 为当前未出现在 $A$ 中的最小正整数。 2. 以概率 $p$ 执行操作 1,以概率 $1-p$ 执行操作 2: - **操作 1**:将 $m$ 添加到 $A$ 的末尾。 - **操作 2**:设 $c_1, c_2, \dots, c_{m-1}$ 表示数字 $1, 2, \dots, m-1$ 在 $A$ 中出现的次数。按照比例 $c_k / \sum_{j=1}^{m-1} c_j$ 的概率选择一个整数 $k$($1 \leq k \leq m-1$),并将 $k$ 添加到 $A$ 的末尾。 对于每个 $k = 1, 2, \dots, N$,求在 $N-1$ 次操作后 $A$ 中包含 $k$ 的个数的期望值,结果对 $998244353$ 取模。 ### 关于期望值取模的定义 可以证明所求期望值一定是有理数。在本题的约束条件下,当该值表示为最简分数 $\frac{P}{Q}$ 时,满足 $Q \not\equiv 0 \pmod{998244353}$。因此,存在唯一的整数 $R$($0 \leq R < 998244353$)满足 $R \times Q \equiv P \pmod{998244353}$,你需要输出这个 $R$。

输入格式

输入通过标准输入给出,格式如下: > $N$ $P$

输出格式

输出 $N$ 行,第 $k$ 行($1 \leq k \leq N$)输出操作后 $A$ 中包含 $k$ 的个数的期望值,对 $998244353$ 取模。

说明/提示

### 约束条件 - $2 \leq N \leq 10^5$ - $0 \leq P \leq 100$ - 输入均为整数 ### 样例解释 1 操作过程如下: - 初始时 $A = (1)$。 - 第一次操作:以 $1/2$ 的概率变为 $A = (1, 2)$,以 $1/2$ 的概率变为 $A = (1, 1)$。 - 第二次操作: - 若 $A = (1, 2)$: - 以 $1/2$ 的概率变为 $A = (1, 2, 3)$; - 以 $1/4$ 的概率变为 $A = (1, 2, 1)$; - 以 $1/4$ 的概率变为 $A = (1, 2, 2)$。 - 若 $A = (1, 1)$: - 以 $1/2$ 的概率变为 $A = (1, 1, 2)$; - 以 $1/2$ 的概率变为 $A = (1, 1, 1)$。 最终 $A$ 中包含 $1, 2, 3$ 的个数的期望值分别为 $\frac{15}{8}$、$\frac{7}{8}$ 和 $\frac{1}{4}$。 翻译由 DeepSeek V3 完成