盒子与小球-复习

发布时间 2023-09-22 09:24:20作者: Diavolo-Kuang

本文的盒子有 \(n\) 个,小球有 \(m\)

盒子不同,小球不同,盒子内小球数量无限制

对于第 \(i\) 个球,有 \(n\) 个可选盒子。所以答案就是 \(n^m\)

盒子不同,小球不同,盒子至多装一个小球

对于第 \(i\) 个球,可以选择 \(n-i+1\) 个盒子,因为别的盒子被之前的小球选过了。

答案就是 \(\prod{i=1}^m (n-i+1)\)

盒子不同,小球不同,盒子至少装一个小球

至少问题,考虑二项式反演。

对于两个函数 \(f,g\) ,如果 $f(n)=\sum_{i=1}^n C_{n}^i g_i $

可以推出 \(g(n)=\sum_{i=0}^n C_n^i (-1)^{n-i} f_i\)

对于本题而言,我们定义 \(f(n,m)\) 表示 \(n\) 个盒子,\(m\) 个小球,盒子非空的情况方案数; \(g(n,m)\) 表示 \(n\) 个盒子, \(m\) 个小球,盒子随意的方案数。对于 \(g(n,m)\) 我们是好求的, \(n^m\) 而已;但是

\[g(n,m)=\sum_{i=0}^n C_{n}^i f(i,m) \]

可以得到

\[f(n,m)=\sum_{i=0}^n C_{n}^i (-1)^{n-i} g(i,m)=\sum_{i=0}^n C_{n}^i (-1)^{n-i} i^m \]

盒子相同,小球不同,盒子数量无限制

考虑第二类斯特林数 \(S(n,m)\) 表示 \(n\) 个不同的元素,放入 \(m\) 个相同的集合的方案数。

两种求法:

\(S(n,m)=\dfrac{f(m,n)}{m!}\)

\(f(m,n)\) 是我们上文定义的函数,该做法后续可以使用 \(\text{NTT}\) 优化,在较短的时间内求出一行的数。

\(S(n,m)=S(n-1,m-1)+S(n,m-1)\times m\)

\(S(n-1,m-1)\) 表示这个小球放进了独立的一个集合,\(S(n,m-1)\) 表示这个小球插入了 \(n\) 个集合中的一个。

盒子相同,小球不同,每一个盒子至多装一球

判断 \(m,n\) 大小关系就可以了。

盒子相同,小球不同,每一个盒子至少装一球

斯特林数定义,不多讲了。

盒子不同,小球相同,每一个盒子无限制

本质上就是求方程 \(x_1+x_2+...+x_n=m\) 的非负整数解。

这个就是经典的插板,\(C_{n+m-1}^{n-1}\)

盒子不同,小球相同,盒子至多放一球

\(C_{n}^m\)

盒子不同,小球相同,盒子至少放一球

\(C_{n-1}^{m-1}\)