n个球放入m个盒子定理

 我来答
仨喵与拾柒
2022-11-30 · TA获得超过975个赞
知道大有可为答主
回答量:5025
采纳率:100%
帮助的人:67.2万
展开全部

n个球放入m个盒子定理分为以下八种情况:

1、球同,盒不同,不允许空箱子:

这种情况很好解释,就是把球排成一行,有m-1个空位置,我从中选择n-1个,就把球分给了不同的盒子。

C(m-1,n-1)if n>=m

0,n<m

2、球同,盒不同,允许空箱子:

在1的基础上,可以假设每个盒子都已经有一个球了,这时候就和1情况一样了,就是说,有n+m个球,盒子不变。

C(n+m-1,m-1)

3、球不同,盒同,不允许空箱子:

dp[n][m]表示n个球放在m个盒子,有多少种情况记作S[n][m]

递推式:当第n个来时,分两种情况,1:n-1个球放在了m个盒子里,那么第n个球可以放在m个盒子里的任何一个,所以是m*dp[n-1][m]2:n-1个球放在了m-1个盒子里,那么第m个球只能放在第m个盒子里了。

dp[n][m]=m*dp[n-1][m]+dp[n-1][m-1]

初始化:

dp[i][i]=1 i>=1

dp[i][1]=1 i>=1

dp[i][j]=0 i<j

4、球不同,盒同,允许空箱子:

dp[n][m]表示n个球放在m个盒子,有多少种情况记作M[n][m]

递推式:允许空箱子的情况在不允许空箱子的基础上去做,容易找到思路。

dp[n][m]=S[n][1]+S[n][2]+S[n][3]+...+S[n][m]

初始化:

dp[n][1]=1

5、球不同,盒不同,不允许空箱子:

dp[m][n]表示m个盒子装n个球,比较符合我的习惯L[m][n]

递推式:在情况3的情况下,加上盒子不同的条件,也就是将m个盒子排列。

dp[m][n]=S[m][n]*m!

6、球不同,盒不同,允许空箱子:

dp[m][n]表示m个盒子装n个球的情况数,记作T[m][n]

递推式:参考不允许空箱子5的情况

dp[m][n]=L[1][n]+L[2][n]+....+L[m][n]

但是:

这种情况可以简化,每个球都有m种选择,一共n个球,那么就有mn种结果。

7、球同,盒同,不允许空箱子:

dp[m][n]记作F[m][n]

递推式:先把m个盒子各自放一个球,还剩n-m个球,这些球可以放在m个盒子里,因为允许为空,所以可以是dp[1][n-m]+dp[2][n-m]+...+dp[m][n-m]

dp[m][n]=dp[1][n-m]+dp[2][n-m]+...+dp[m][n-m]

8:球同,盒同,允许空箱子。

dp[m][n]记作G[m][n]

递推式:参考不允许为空的情况7

dp[m][n]=F[1][n]+F[2][n]+...+F[m][n]

初始化:略

另外:可以假设有n+m个球,m个球已经在m个盒子各自放了一个,所以=F[m][n+m]

F[m][n+m]=F[1][n]+F[2][n]+...+F[m][n]证明和递推式一样。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式