求将N个球放入M个盒子中的方案数。

 

1、球相同,盒子不同,盒子不为空。

相当于每两个小球之间有一个空隙,共有n-1个,每个空隙只能放一个隔板,给出m-1个隔板,将小球分成m份,就是从n-1各空隙中选m-1个,方案数为C(n-1,m-1)。

 

2、球相同,盒子不同,盒子可以为空。

再加入m个小球变成不允许为空,那么就和1情况一样了,方案数为C(n+m-1,m-1)。

 

3、球相同,盒子相同,盒子不为空。

这样就成了整数划分问题,用动态规划:f[i][j]表示i这个数划分为j份的方案数。

对于f[i][j],当划分的数中有1时,f[i][j]=f[i-1][j-1];

没有1时,就让所有的数都减1,f[i][j]=f[i-j][j]。

综上:f[i][j]=f[i-1][j-1]+f[i-j][j]

 

4、球相同,盒子相同,盒子可以为空。

方案数为Σf[n][j](1<=j<=m)。

相关文章:

  • 2022-12-23
  • 2019-12-01
  • 2021-08-02
  • 2021-11-27
  • 2022-02-27
  • 2021-06-30
  • 2021-10-15
  • 2022-02-12
猜你喜欢
  • 2021-12-07
  • 2022-03-05
  • 2021-12-08
  • 2022-12-23
  • 2021-12-29
  • 2021-12-15
  • 2022-12-23
相关资源
相似解决方案