Processing math: 0%

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 @   Soulist  阅读(110)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示