小球放入盒中的方法总结(排列组合)

本篇博客主要讲解球盒模型问题中所有情况,因为该问题是组合数学中的最常见的一类问题,所以有必要在这里详细地说一说。

该类问题涉及到三个因素,分别是球、盒子、盒子是否可以为空。所以大概可以将该问题分为以下八种情况:

1.将r个无区别的球放入n个有标志的盒中,盒内数目无限制,有多少种情况?

2.将r个有区别的球放入n个有标志的盒中,没有一个盒子为空,有多少种情况?

3.将r个无区别的球放入n个有标志的盒中,没有一个盒子为空,有多少种情况?

4.将r个有区别的球放入n个无标志的盒中,没有一个盒子为空,有多少种情况?

5.将r个有区别的球放入n个有标志的盒中,盒内数目不限制,有多少种情况?

6.将r个有区别的球放入n个无标志的盒中,盒内数目不限制,有多少种情况?

7.将r个无区别的球放入n个无标志的盒中,盒内数目不限制,有多少种情况?

8.将r个无区别的球放入n个无标志的盒中,没有一个盒子为空,有多少种情况?

总的来说,分为以下8种情况:

盒子 盒子内数目限制
无区别 有标志 数目不限
无区别 有标志 无一空盒
无区别 无标志 数目不限
无区别 无标志 无一空盒
有区别 有标志 数目不限
有区别 有标志 无一空盒
有区别 无标志 数目不限
有区别 无标志 无一空盒

下面开始详细讲解:

1.将r个无区别的球放入n个有标志的盒中,盒内数目无限制,有多少种情况?

方法数目为:F(n,r)=Crn+r1=(n+r1)!r!(n1)!F(n,r)=Cn+r−1r=(n+r−1)!r!(n−1)!

本质上是多重组合问题,也就是从n个不同的元素中可重复地选取r个不考虑顺序的组合数为F(n,r)


2.将r个有区别的球放入n个有标志的盒中,没有一个盒子为空,有多少种情况?

方法数目为:ni=0(1)iCin(ni)r∑i=0n(−1)iCni(n−i)r

可以用容斥原理来解答,设AiAi表示盒子i为空的情况,那么方法数就是|A1¯¯¯¯¯¯A2¯¯¯¯¯¯...An¯¯¯¯¯¯|=nrC1n(n1)r+C2n(n2)r+...+(1)nCnn(nn)r|A1¯∩A2¯...∩An¯|=nr−Cn1(n−1)r+Cn2(n−2)r+...+(−1)nCnn(n−n)r

或者可以从第二类Stirling数的角度来思考,方法数为n!S(r,n)n!S(r,n),结果和上面的一致。


3.将r个无区别的球放入n个有标志的盒中,没有一个盒子为空,有多少种情况?

可以用母函数或者多重组合来解决,方法数为Crnr1=Cn1r1Cr−1r−n=Cr−1n−1


4.将r个有区别的球放入n个无标志的盒中,没有一个盒子为空,有多少种情况?

方法数为第二类Stirling数,S(r,n)=1n!ni=0(1)iCin(ni)rS(r,n)=1n!∑i=0n(−1)iCni(n−i)r

这里说明一下,第二类Stirling数S(r,n)就是将r个元素的集合划分为n个不相交非空子集的方案数。


5.将r个有区别的球放入n个有标志的盒中,盒内数目不限制,有多少种情况?

这种情况最简单了,方案数目为nrnr

也就是每次放一个球,都有n种放法。


6.将r个有区别的球放入n个无标志的盒中,盒内数目不限制,有多少种情况?

这种情况也是用第二类Stirling数来解决,可以理解为有0个盒子为空,有1个盒子为空,有两个盒子为空……

方案数目为S(r,1)+S(r,2)+...+S(r,n)S(r,1)+S(r,2)+...+S(r,n)

其中,S(r,n)表示划分成n个子集,也就是没有一个为空,S(r,n-1)划分为n-1个子集,也就是有一个盒子为空。


7.将r个无区别的球放入n个无标志的盒中,盒内数目不限制,有多少种情况?

方法数目为1(1x)(1x2)...(1xn)1(1−x)(1−x2)...(1−xn)xrxr的系数


8.将r个无区别的球放入n个无标志的盒中,没有一个盒子为空,有多少种情况?

方法数目为xn(1x)(1x2)...(1xn)xn(1−x)(1−x2)...(1−xn)xrxr的系数


第7、8两种情况较为复杂,在此不做解释。

你可能感兴趣的:(ACM,ACM知识讲解)