其他分享
首页 > 其他分享> > [PKUWC2018] 猎人杀

[PKUWC2018] 猎人杀

作者:互联网

题解

神仙题啊(

我们发现如果把一个杀死后去除会影响概率的分母,很不好搞。我们考虑不把一个人去除,而只是打上死亡标记,且这个标记可以打很多次。考虑为什么这样是对的?

设全部 \(w\) 的和为 \(W\),死去的人的 \(w\) 的和为 \(W'\),原先的概率为 \(P=\frac{w_i}{W-W'}\),然后后面一种考虑方式即为:\(P=\frac{W'}{W}P+\frac{w_i}{W}\),\(P=\frac{w_i}{W-W'}\) 是一样的。

接下来容斥,假设在 \(1\) 死后还有 \(S\) 中的人没被打标记,那么答案就是 \(\sum (-1)^{\mid S\mid}\frac{w_1}{(\sum_{i\in S} w_i)+w_1}\)。

推导:

\[t=\sum_{i\in S}w_i\\ ans=\sum (-1)^{\mid S\mid}\sum_{i\ge 1}(1-\frac{t+w_1}{W})^i\frac{w_1}{W}=\sum (-1)^{\mid S\mid}\frac{w_1}{W}\frac{1}{1-(1-\frac{t+w_1}{W})}=\sum (-1)^{\mid S\mid}\frac{w_1}{t+w_1} \]

然后我们只需对于每个 \(t\) 求出 \((-1)^{\mid S\mid}\)。这可以背包,而我们又知道背包可以用生成函数搞,也就是求 \(\prod\limits_{i=2}^{n}(1-x^{w_i})\),可以分治+ntt。在 \(O(W\log^2{W})\) 的时间复杂度内解决。

代码

https://loj.ac/s/1102427

标签:背包,frac,标记,sum,mid,猎人,去除,PKUWC2018
来源: https://www.cnblogs.com/zcr-blog/p/14590168.html