题面
故事发生在某一天的下午,
我如同往常一样打开题目...... 然后成功被一堆相同的不同的盒子和球绕晕惹( T﹏T )
为了防止自己再次忘记我觉得还是有必要记录一下哈哈哈哈
题目
1 给定 N 个不同的球,放进 M 个不同的盒子,盒子允许为空,有多少种方案?
2 给定 N 个不同的球,放进 M 个不同的盒子,盒子不允许为空,有多少种方案?
3 给定 N 个不同的球,放进 M 个相同的盒子,盒子允许为空,有多少种方案?
4 给定 N 个不同的球,放进 M 个相同的盒子,盒子不允许为空,有多少种方案?
5 给定 N 个相同的球,放进 M 个不同的盒子,盒子允许为空,有多少种方案?
6 给定 N 个相同的球,放进 M 个不同的盒子,盒子不允许为空,有多少种方案?
7 给定 N 个相同的球,放进 M 个相同的盒子,盒子允许为空,有多少种方案?
8 给定 N 个相同的球,放进 M 个相同的盒子,盒子不允许为空,有多少种方案?
T1 :
对于任意一个球, 均有放入(1-M) 一共(M)种方案 因此方案数为 (M^N)
T6:
可以转化为, 在排成一排的(N)个小球的间隙中插入(M-1)根木棍使得(N)个小球分成(M)个部分
一共有(N-1)个间隙,因此方案数为(C_{n-1}^{m-1})
T5:
是不是感觉和T6很像呢o( ̄▽ ̄)o 实际上做法也挺类似的
我们先想一想, 如果有(N) 个相同的球,放进 (M) 个不同的盒子,盒子不允许为空,那我们在每一个盒子中先放上一个球,
是不是问题就变成了求——有(N-M) 个相同的球,放进 (M) 个不同的盒子,盒子允许为空的方案数了呢(。・∀・)ノ゙
而反过来推显然也是成立的, 因此,第五个问题就变成了求(N+M) 个相同的球,放进 (M) 个不同的盒子,盒子不允许为空的方案数啦
方案数为(C_{n+m-1}^{m-1})
T4:
假设我们已经考虑完了前(n-1)个球的摆放情况, 现在开始考虑第(n)个球应该放在哪里了呀
细想一下,大概可以分成两种情况的:
((1))它单独放在一个新的箱子里(不是盒子的吗emm)
假设新增一个盒子后一共有(m)个盒子, 那么它的方案数一定是和(n-1)个球,(m-1)个盒子的方案数
((2))它放在之前的任意一个盒子当中
假如现在是(m)个盒子的话, 那么它的方案数就是(m*)((n-1)个球,(m)个盒子的方案数)啦
因此, 若我们用(f[n][m])来表示(n)个球(m)个盒子的方案数的话, 那么(f[n][m])的递推式应该为(f[n][m]=f[n-1][m-1]+f[n-1][m]*m)
边界:(f[i][j]=1(i=j 或 j=1)),f[i][j]=0(j>i))。
实际上,这就是第二类斯特林数
T3:
有(M)个盒子, 可以为空其实可以转化为有(1、2、3...M)个盒子, 不允许为空的情况
因此方案数为(sum_{i=1}^{m}f[n][i]) f[][]的意义与上一题相同哦
T2:
与T4有关哦
我们得出一种(N) 个不同的球,放进 (M) 个相同的盒子,盒子不为空的方案后,再给每个盒子编号 一共有(M!)种不同的编号方案
因此, 总方案数为(f[N][M]*M!)
T7:
令方案数为(f[n][m]), 我们可以分别考虑盒子均不为空和有空盒子两种情况
当有空盒子时, 因为一定有至少一个空盒子 , 所以(f[n][m]=f[n][m-1])是成立的
当所有的盒子中都放了小球的时候,
我们可以在每个盒子中先都放一个小球, 于是问题就变成了求(N-M) 个相同的球,放进 (M) 个相同的盒子,盒子可以为空的方案数啦
此时(f[n][m]=f[n-m][m])emm
因此, 递推式就找到啦o( ̄▽ ̄)d (f[n][m]=f[n-m][m]+f[n][m-1]) 边界为(f[i][j]=1 (i=0or1 或 j=1),f[i][j]=f[i][i] (j>i))。
T8:
在每个盒子中先都放一个小球, 于是问题就变成了求(N-M) 个相同的球,放进 (M) 个相同的盒子,盒子可以为空的方案数啦
方案数:(0(M>N))或者 (f[N-M][M])((N>=M),(f) 就是中的 (f)呀)。