小球放盒子问题

n个球放入m个盒子里,8中形式(个人认为盒子有标志的问题相对简单,放在前面写):

比较好的学习资料:
https://blog.csdn.net/Jaster_wisdom/article/details/78506831

https://wenku.baidu.com/view/f981a9b625c52cc58ad6bede.html


1. 球有标志,盒子有标志,盒子不可以为空

第二类斯特林数,S(i,j) 表示i个有标志球放入j个无标注盒子且盒子不为空的方案数。
方案数就为: S(n,m)m! S ( n , m ) ∗ m !
递推式: S(i,j)=S(i1,j1)+S(i1,j)j S ( i , j ) = S ( i − 1 , j − 1 ) + S ( i − 1 , j ) ∗ j
表达式:这里写图片描述
可以用母函数求解后用泰勒展开式得到。或者用容斥原理,用T(i) 表示至少有i个空盒子的方案数,那么没有任何一个空盒的方案数就是 T(0)T(1)+T(2)+...T(m) T ( 0 ) − T ( 1 ) + T ( 2 ) + . . . T ( m )
T(i)=C(m,i)n T ( i ) = C ( m , i ) ∗ n ^ (mi) ( m − i ) ,代入上式即得等价表达式。


2.球有标志,盒子有标志,盒子可以为空

对于每个球有m中决策方案,所以方案数为 nm n m


3.球有标志,盒子没有标志,盒子不可以为空

那方案数就是上述所说的S(n,m) (第二类Stirling数)


4.球有标志,盒子没有标志,盒子可以为空

就是枚举放几个盒子,然后固定盒子数后转化为问题3
就是 S(n,1)+S(n,2)+...+S(n,m) ( S ( n , 1 ) + S ( n , 2 ) + . . . + S ( n , m ) )


5.球没有标志,盒子有标志,盒子不可以为空

隔板法解决,板可以插在(n-1)个球之间,因为分成m份,所以只有m-1个插板,方案数为 C(n1,m1) C ( n − 1 , m − 1 )


6.球没有标志,盒子有标志,盒子可以为空

也是插板法,添加m-1个位置进去,方案数就是 C(n+m1,m1) C ( n + m − 1 , m − 1 )


7.球没有标志,盒子没有标志,盒子不可以为空

递推式: dp[n][m]=dp[nm][m]+dp[n1][m1] d p [ n ] [ m ] = d p [ n − m ] [ m ] + d p [ n − 1 ] [ m − 1 ]
对于递推式,可以理解为一个单调不递增序列,每次给全部的数加上1,或者在后面新添一个1.
用母函数求出的表达式:这里写图片描述 xm x m 的系数。


8.球没有标志,盒子没有标志,盒子可以为空

递推式: dp[n][m]=(dp[n][i])|i<=m d p [ n ] [ m ] = ∑ ( d p [ n ] [ i ] ) | i <= m
用母函数求出的表达式:这里写图片描述 xm x m 的系数

你可能感兴趣的:(论文)