CometOJ 5E

Comet OJ - Contest #5E

给定 \(n,p\),表示有一个长度为 \(n\) 的环,每次从 \(1\to n\) 依次考虑,每个位置有 \(p\) 的概率被杀,然后继续走。

求每个位置活到最后的概率。答案对 \(998244353\)

\(n\le 10^5,p<998244353\)

\(\rm Sol:\)

考虑 \(n\) 个人的时候,第一个人活到最后的概率,枚举第一个人在第 \(i\) 轮死亡,那么其他人都必须在第 \(i\) 轮之前死亡。

于是有其他人活的概率为:\((1-p)^{i-1}\),于是其他人死的概率为 \(1-(1-p)^{i-1}\),设 \(q=1-p\)

于是有:

\[\begin{aligned} &f_n=p\times \sum_{i=1}^{\infty} q^{i-1}\times (1-q^{i-1})^{n-1} \\&f_n=p\times \sum_{i=0}^{\infty} q^{i}\times (1-q^{i})^{n-1} \\&f_n=p\times \sum_{i=0}^{\infty} \sum_{j=0}^{n-1} \binom{n-1}{j} (-1)^j q^{ij}\times q^i \\&f_n=p\times \sum_{j=0}^{n-1}\binom{n-1}{j}\times (-1)^j \sum_{i=0}^{\infty} q^{i(j+1)} \\&f_n=p\times \sum_{j=0}^{n-1} \binom{n-1}{j}\times (-1)^j (\frac{1}{1-q^{j+1}}) \end{aligned}\]

拆开组合数,直接卷积即可,复杂度 \(\mathcal O(n\log n)\)

考虑对于第 \(k\) 个人,我们枚举第一轮次中前 \(k-1\) 个人当中死亡的个数 \(j\),不难发现此时人 \(k\) 又可以视为第一个玩家,同时游戏人数变成了 \(n-j\)

于是有:

\[g_k=\sum_{j=0}^{k-1} \binom{k-1}{j}\times p^j\times q^{k-1-j}\times f_{n-j} \]

显然又可以卷积,复杂度 \(\mathcal O(n\log n)\)

posted @ 2020-09-11 19:13  Soulist  阅读(180)  评论(0)    收藏  举报