CF1349D
- 有 \(n\) 个人, 第 \(i\) 个人有 \(a_i\) 个饼干。
- 每次随机选择一个饼干, 将其随机分配给除了它现在所有者的其他 \(n-1\) 个人。
- 求使得一个人拥有所有饼干的期望步数,对 \(998244353\) 取模。
\(n\le 10^5,\sum a_i\le 3\cdot 10^5\)
\(\rm Sol:\)
这道题好像非常仙。感觉没法做。
设 \(P_x\) 表示最后饼干停留在 \(x\) 人上的概率。
设 \(E_x\) 表示第一次所有饼干停留在 \(x\) 上的期望步数乘以概率。
设 \(E_x'\) 表示当且仅当饼干停留在 \(x\) 上游戏才结束此意义下的期望。
那么有:
\[\sum P_x=1
\]
答案为:
\[\sum E_x
\]
设 \(C\) 为将全部饼干由一个人手中转移到另一个人手中的期望步数,那么我们有恒等式:
\[E_x'=E_x+\sum_{i\ne x} (E_i+P_i\cdot C)
\]
表示最终停留在 \(E_x'\) 的概率有且仅有:
- 直接停留在 \(x\) 处
- 停留在 \(i\) 处,然后转移到 \(x\) 处。
- 注意到 \(E_i\) 附带了概率,所以仅有 \(C\) 要乘以 \(P_i\)
所以我们有:
\[E_x=E_x'-\sum_{i\ne x}(E_i+P_i\cdot C)
\]
所求为:
\[\begin{aligned}
&\sum E_x
\\&=\sum \bigg(E_x'-\sum_{i\ne x}(E_i+P_i\cdot C)\bigg)
\\&=\sum E_x' -(n-1)\sum E_i-(n-1)\sum P_i\cdot C
\end{aligned}\]
所以我们得到:
\[n\cdot \sum E_x=\sum E_x'-(n-1)\cdot C\sum P_i
\]
注意到 \(\sum P_i=1\),设 \(A=\sum E_x'\),那么所求为:
\[\frac{A-(n-1)\cdot C}{n}
\]
于是我们只需要求解 \(E_x'\) 与 \(C\)
设 \(f_i\) 表示当前有 \(i\) 个饼干在目标人手上期望需要多少步才能得到 \(i+1\) 个饼干,\(m\) 为饼干总数。
得到转移:
对于 \(m>i\ge 1\):
\[f_i=1+\frac{i}{m}(f_{i-1}+f_i)+\frac{m-i}{m}\times \frac{n-2}{n-1}f_i
\]
\[(1-\frac{i}{m}-\frac{m-i}{m}\cdot \frac{n-2}{n-1})f_i=1+\frac{i}{m}f_{i-1}
\]
对于 \(i=0\):
\[f_0=1+\frac{n-2}{n-1}f_0\to f_0=n-1
\]
于是对于 \(E_x'\),我们容易得到其为 \(\sum_{i\ge x} f_i\),同时 \(f_i\) 可以直接递推。
同时,显然有 \(C=\sum_{i\ge 0} f_i\)