组合数学——插板模型

无空插板

给你n个球和m个桶,要求你将这n个球全部放入m个桶中,不允许出现空桶。问你有多少种放的方法。

就相当于,把这n个球列出来,然后在这n个球之间的n-1个空中,插入m-1个板子。如此下来就可以把这n个球分成m份。因此,我们可以知道答案应该为 Cm1n1 C n − 1 m − 1

有空插板

如果我们允许出现空桶呢。

考虑一下,我们会发现在出现空桶时,就会有两个板子放在同一个空中,为了更改成上一个情景同样适用的情况,我们不妨在这些板子之间再放一个球。则答案为 Cm1n+m1 C n + m − 1 m − 1

大于等于限制下的插板

我们增加条件,对于一些箱子的球的个数要大于或等于ki个。

先把大于ki转化成大于ki-1。然后是同样的思考方式,我们不妨先从n个球中拿出ki-1个球,然后再将剩下的球自由分配,不允许出现空盒,最后分配完之后再将开始拿出来的球放回去对应的桶中,就可以保证满足限制条件了。
答案为 Cmnki C n − ∑ k i m

小于等于限制下的插板

增加条件,对于一些箱子的球的个数要小于或等于ki个。

考虑只有一个箱子内球数要小于等于ki限制条件的情况,那么我们可以取其补集,即此箱子内球数大于ki个的情况,那么就可以转化为我们对上一种情况的讨论,全集为无限制条件的答案,减一下即可得到答案。
这个时候我们再来考虑有多个箱子有限制条件的情况,用容斥乱搞一通即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值