关于盒子与球的问题

题面

故事发生在某一天的下午,

我如同往常一样打开题目...... 然后成功被一堆相同的不同的盒子和球绕晕惹( 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)呀)。

原文地址:https://www.cnblogs.com/hyxss/p/14185942.html