专栏文章

题解:uoj390 百鸽笼

题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@min4eghm
此快照首次捕获于
2025/12/01 20:23
3 个月前
此快照最后确认于
2025/12/01 20:23
3 个月前
查看原文
先把问题转化为:加入 ai\sum a_i 个人,计算最后一次插入是第 ii 个笼子的概率。
考虑最后一次插入不好钦定,我们容斥成若干个笼子在他之后还有插入的概率。
具体来说,我们枚举集合 SS,求钦定在第 ii 个笼子插满的时候,SS 集合都 没有 被插满的概率。首先 U{i}SU-\{i\}-S 的部分不管,所以对概率没有贡献。考虑枚举 SS 中每个笼子在 ii 插满的时候插了 bjb_j 个,那么概率为 jS1bj!×(jSbj+ai1)!(ai1)!×(1S+1)jSbj+ai\prod_{j\in S} \frac{1}{b_j!}\times \frac{(\sum_{j\in S}b_j+a_i-1)!}{(a_i-1)!}\times (\frac{1}{|S|+1})^{\sum_{j\in S}b_j+a_i}
感受一下这个式子,前面两项是排列组合的方案数:一个总长为 jSbj+ai\sum_{j\in S} b_j+a_i 的序列,要求 jj 出现了恰好 bjb_j 次,且最后一个是 ii 的方案数;后一项是总概率,因为在这些操作时每个笼子被选的概率都恰好是 1S+1\frac{1}{|S|+1}
观察发现,这个式子只跟 i,jSbj,Si,\sum_{j\in S}b_j,|S| 有关,直接 dp 即可。时间复杂度 O(n6)O(n^6)
利用到了概率的特殊性,在容斥时可以忽略很多复杂部分。

评论

0 条评论,欢迎与作者交流。

正在加载评论...