排列组合:球盒问题
有n个球和m个盒子,根据是否允许为空,球是否相同,盒子是否相同分成8种情况
前置知识:第二类斯特林数
1.允许为空、球不相同、盒子不相同
- 给每个球选择它的盒子,所以结果为\(m^{n}\)
2.不允许为空、球不相同、盒子不相同
- 假设盒子相同,这个问题就转换为将n个元素分成m个集合,然后对盒子全排列即\(m!\),所以结果就为\(m!S(n,m)\)
3.允许为空、球相同、盒子不相同
- 假设不允许为空,并且球数为n+m 个,那么结果为\(C(n+m-1,m-1)\),再给所有的盒子取出一个球,结果不变,所以为\(C(n+m-1,m-1)\)
4.不允许为空、球相同、盒子不相同
- 插板法,n个球就有n-1个空,插入m-1个板子,所以结果为\(C(n-1,m-1)\)
5.允许为空、球不同、盒子相同
- 第6问的求和,\(S(n,1)\) + \(S(n,2)\) + ... + \(S(n,m)\)
6.不允许为空、球不同、盒子相同
7.允许为空、球相同、盒子相同
- 分解,有空盒和没有的情况
- 有空盒时,与去掉一个空盒的情况数量相同
- 没有时,转换为问题8
- 又根据问题8可以转换为7,得出结果为\(ans(n,m)=ans(n,m-1)+ans(n-m,m)\)
- 为了简化,n小于m时,直接令\(ans(n,m)=ans(n,n)\)省去不必要的计算
8.不允许为空、球相同、盒子相同
- 所以盒子里的球全减少1个,转换为问题7,\(ans8(n,m)=ans7(n-m,m)\)
posted @
2023-07-08 21:29
xxcdsg
阅读(
304)
评论()
收藏
举报