Comet OJ - Contest #5E
给定 (n,p),表示有一个长度为 (n) 的环,每次从 (1 o n) 依次考虑,每个位置有 (p) 的概率被杀,然后继续走。
求每个位置活到最后的概率。答案对 (998244353)
(nle 10^5,p<998244353)
( m Sol:)
考虑 (n) 个人的时候,第一个人活到最后的概率,枚举第一个人在第 (i) 轮死亡,那么其他人都必须在第 (i) 轮之前死亡。
于是有其他人活的概率为:((1-p)^{i-1}),于是其他人死的概率为 (1-(1-p)^{i-1}),设 (q=1-p)
于是有:
[egin{aligned}
&f_n=p imes sum_{i=1}^{infty} q^{i-1} imes (1-q^{i-1})^{n-1}
\&f_n=p imes sum_{i=0}^{infty} q^{i} imes (1-q^{i})^{n-1}
\&f_n=p imes sum_{i=0}^{infty} sum_{j=0}^{n-1} inom{n-1}{j} (-1)^j q^{ij} imes q^i
\&f_n=p imes sum_{j=0}^{n-1}inom{n-1}{j} imes (-1)^j sum_{i=0}^{infty} q^{i(j+1)}
\&f_n=p imes sum_{j=0}^{n-1} inom{n-1}{j} imes (-1)^j (frac{1}{1-q^{j+1}})
end{aligned}]
拆开组合数,直接卷积即可,复杂度 (mathcal O(nlog n))
考虑对于第 (k) 个人,我们枚举第一轮次中前 (k-1) 个人当中死亡的个数 (j),不难发现此时人 (k) 又可以视为第一个玩家,同时游戏人数变成了 (n-j)。
于是有:
[g_k=sum_{j=0}^{k-1} inom{k-1}{j} imes p^j imes q^{k-1-j} imes f_{n-j}
]
显然又可以卷积,复杂度 (mathcal O(nlog n))