这种求某个东西在最后一个的概率之类的其实可以考虑容斥,设钦定一个集合$S$在它后面的概率为$f(S)$,那么最后的答案为$\sum (-1)^{|S|}f(S)$.
现在考虑怎么算$f(S)$,一种感性的方法是,你可以认为其他人就没有关系了,那么$f(S)$即为第一个人第一个死的概率,即$\frac{w _1}{w _1+\text{sum}(S)}$.
要严谨地证明的话,可以改变一下游戏规则:死去的人不把他踢出去,这样不会改变每个人的死亡顺序,记$W=\sum _{i=1}^n w _i$,那么$f(S)=\sum _{i=0}^{+\infty}\left(\frac{W-w _1-\text{sum}(S)}{W}\right)^i\frac{w _1}{W}=\frac{w _1}{w _1+\text{sum}(S)}$.
于是答案就是$\sum \frac{(-1)^{|S|}}{w _1+\text{sum}(S)}$,注意到$w _i$加起来很小,我们可以统计每个$\text{sum}(S)$的贡献,这个只需要计算$\prod _{i=2}^n(1-z^{w _i})$就可以了.
代码:
1 |
|