收集邮票 BZOJ-1426

ps:记录下自己一个精度爆炸的想法,有模数的话大概能过

题意大概是给你$n$个数,选中每个数的概率是$frac{1}{n}$,第$i$次选代价是$i$,问你把$n$个数取各至少取一遍的代价的期望。

正解是一个只有两行的$dp$,我的想法是一个容斥

转化为若$k$次无法取遍则(需至少再取一次)代价增加$k+1$

取不超过$i$种对期望的贡献为$$inom{n}{i}sum_{k=0}^{infty }left ( frac{i}{n} ight )^kleft ( k+1 ight )$$

令$$S=sum_{k=0}^{infty }left ( frac{i}{n} ight )^kleft ( k+1 ight )$$

$$frac{i}{n}S=sum_{k=1}^{infty }left ( frac{i}{n} ight )^k k$$

$$frac{n-i}{n}S=1+sum_{k=1}^{infty }left ( frac{i}{n} ight )^k=1+frac{i}{n-i}$$

$$S=frac{n^2}{left ( n-i ight )^2}$$

然后容斥一下(注意$i=0$的情况)

$$ans=sum_{i=0}^{n-1}left ( -1 ight )^{n-i+1}inom{n}{i}frac{n^2}{left ( n-i ight )^2}$$

这题是输出一个实数,因为结果不大所以dp不用考虑精度不够,但是容斥的话中间有个组合数非常大,然后我也不知道该怎么办了233

原文地址:https://www.cnblogs.com/Urushibara-Ruka/p/13575905.html