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 完成