分配问题(插板法)
1、有 n 个小球,放入 m 个盒子,每个盒子里至少 1 个,求有多少种情况?
解析:
我们可以把问题转化为:在小球之间插入板子,将其分成 m m m 份
有 n n n 个小球,所以在小球之间有 n − 1 n-1 n−1 个空隙
放入 m m m 个盒子,说明要把小球分成 m m m 份,所以需要在其中 m − 1 m-1 m−1 个空隙中插入板子
所以一共有 C n − 1 m − 1 C_{n-1}^{m-1} Cn−1m−1 种情况
2、有 n 个小球,放入 m 个盒子,求有多少种情况?
解析:
题目2和题目1的不同在于每个盒子中的小球数目可以为 0 0 0
我们可以将问题转化为每个盒子至少放 1 1 1 个小球的情况:
可以预先在每个盒子中都放入 1 1 1 个小球,此时就不会有数目为 0 0 0 的情况
因为有 m m m 个盒子,所以要预先放入 m m m 个球,相当于我们有 n + m n+m n+m 个球
此时问题就转化为把 n + m n+m n+m 个小球放入 m m m 个盒子,每个盒子里至少 1 1 1 个
但实际上我们只有 n n n 个小球,多放了 m m m 个小球,怎么办呢?
只需要把预先放入的 m m m 个小球取出即可
所以一共有 C n + m − 1 m − 1 C_{n+m-1}^{m-1} Cn+m−1m−1 种情况