盒子与小球-复习
本文的盒子有 \(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\) 而已;但是
可以得到
盒子相同,小球不同,盒子数量无限制
考虑第二类斯特林数 \(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}\)