信息
- ID
- 1227
- 时间
- 5000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者
x 服从参数为 n 和 p=1/m 的二项分布。小范围可以枚举每次是否抽中;中等范围可以直接枚举二项分布的取值;当 n 很大时,改用下降幂矩。
普通幂可以用第二类 Stirling 数展开:
xk=j=0∑kS(k,j)xj.二项分布的第 j 阶下降幂矩为
E[xj]=njpj.因此答案为
j=1∑kS(k,j)njm−j.使用递推 S(i,j)=S(i−1,j−1)+jS(i−1,j) 逐行计算到第 k 行。随后同步维护 n 的下降幂和 m−1 的幂并求和。
中等规模的直接二项分布算法从 P(x=0)=(1−p)n 出发,用相邻概率比递推 P(x+1),再累加 xkP(x)。
满分算法时间复杂度为 O(k2),空间复杂度为 O(k)。