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\)

posted @ 2020-09-12 12:16  Soulist  阅读(108)  评论(0编辑  收藏  举报