隔板法详解(各种方法)(转载)

原文链接

理解隔板法

【定义】

隔板法就是在 n 个元素间的(n-1)个空中插入 k 个板,可以把 n 个元素分成 k+1 组的方法。  

应用隔板法必须满足 3 个条件:   
(1) 这 n 个元素必须互不相异;
(2) 所分成的每一组至少分得 1 个元素;
(3) 分成的组别彼此相异。

【公式】

把 10 个相同的小球放入 3 个不同的箱子,每个箱子至少一个,问有几种情况?

C(n-1,m-1)=C(9.2)

接下来才是重点。

【隔板应用】

普通隔板法

例 1. 求方程 x+y+z=10 的正整数解的个数。

分析:将 10 个球排成一排,球与球之间形成 9 个空隙,将两个隔板插入这些空隙中(每空至多插一块隔板),规定由隔板分成的左、中、右三部分的球数分别为 x、y、z 之值(如下图)。则隔法与解的个数之间建立了一一对立关系,故解的个数为 C (n-1,m-1)=C(9,2)=36(个)。

添元素隔板法

例 2. 求方程 x+y+z=10 的非负整数解的个数。

分析:注意到 x、y、z 可以为零,故例 1 解法中的限定 “每空至多插一块隔板” 就不成立了,怎么办呢?只要添加三个球,给 x、y、z 各添加一个球,这样原问题就转化为求 x+y+z=13 的正整数解的个数了,则问题就等价于把 13 个相同小球放入 3 个不同箱子,每个箱子至少一个,有几种情况?易得解的个数为 C(n+m-1,m-1)=C(12,2)=66(个)。

例 3: 把 10 个相同小球放入 3 个不同箱子,第一个箱子至少 1 个,第二个箱子至少 3 个,第三个箱子可以放空球,有几种情况?
我们可以在第二个箱子先放入 10 个小球中的 2 个,小球剩 8 个放 3 个箱子,然后在第三个箱子放入 8 个小球之外的 1 个小球,则问题转化为 把 9 个相同小球放 3 不同箱子,每箱至少 1 个,几种方法? C(8,2)=28

例4. 将20个相同的小球放入编号分别为1,2,3,4的四个盒子中,要求每个盒子中的球数不少于它的编号数,求放法总数。(减少球数用隔板法)

分析:先在编号 1,2,3,4 的四个盒子内分别放 0,1,2,3 个球,剩下 14 个球,有 1 种方法;再把剩下的球分成 4 组,每组至少 1 个,由例 1 知方法有 C(13,3)=286(种)。

例 5:有一类自然数,从第三个数字开始,每个数字都恰好是它前面两个数字之和,直至不能再写为止,如 257,1459 等等,这类数共有几个?
因为前 2 位数字唯一对应了符合要求的一个数,只要求出前 2 位有几种情况即可,设前两位为 ab
显然 a+b<=9 , 且 a 不为 0
1 -1- 1 -1 -1 -1 -1 -1 -1 1 代表 9 个 1,- 代表 8 个空位
我们要把 9 个 1 分成两组,但 b 可以为 0,我们先给 b 一个 1,然后就相当于 10 个小球放入两个(a,b)不同的箱子,每一个箱子至少放一个,C(9,1),但这是错误的,为什么?因为 1 不一定要全部放入。其实解决这个问题可以这么想,我们在引进一个盒子 c 来放 ab 取完剩下的 1,所以报证 c 中球数大于 0,所以要在增加一个球,题目就等价于,11 个小球放入两个(a,b)不同的箱子,每一个箱子至少放一个,所以一共有 c(10,2)=45 .

添板插板法

例 5 另一种解法:


显然 a+b<=9 , 且 a 不为 0
1 -1- 1 -1 -1 -1 -1 -1 -1 - - 1 代表 9 个 1,- 代表 10 个空位 (第一个没有因为 a 不能为 0),我们可以在这 9 个空位中插入 2 个板,分成 3 组,第一组取到 a 个 1,第二组取到 b 个 1,但此时第二组始终不能取空,若多添加第 10 个空时,设取到该板时第二组取空,即 b=0,所以一共有 c(10,2)=45

添板插板法就是添元素隔板法的变形。

选板法


例 6: 有 10 粒糖,如果每天至少吃一粒 (多不限),吃完为止,求有多少种不同吃法?
o - o - o - o - o - o - o - o - o – o o 代表 10 个糖,- 代表 9 块板
10 块糖,9 个空,插入 9 块板,每个板都可以选择放或是不放,相邻两个板间的糖一天吃掉
这样一共就是 2^9= 512 啦


分类插板


例 7: 小梅有 15 块糖,如果每天至少吃 3 块,吃完为止,那么共有多少种不同的吃法?
此问题不能用插板法的原因在于没有规定一定要吃几天,因此我们需要对吃的天数进行分类讨论
最多吃 5 天,最少吃 1 天
1: 吃 1 天或是 5 天,各一种吃法 一共 2 种情况
2:吃 2 天,每天预先吃 2 块,即问 11 块糖,每天至少吃 1 块,吃 2 天,几种情况? C(10, 1)=10
3:吃 3 天,每天预先吃 2 块,即问 9 块糖,每天至少 1 块,吃 3 天 ? C(8 ,2)=28
4:吃 4 天,每天预先吃 2 块,即问 7 块糖,每天至少 1 块,吃 4 天?c(6 ,3)=20
所以一共是 2+10+28+20=60 种


逐步插板法


例 8 :在一张节目单中原有 6 个节目,若保持这些节目相对次序不变,再添加 3 个节目,共有几种情况?
-o - o - o - o - o - o - 三个节目 abc
可以用一个节目去插 7 个空位,再用第二个节目去插 8 个空位,用最后个节目去插 9 个空位
所以一共是 c(7, 1)×c(8, 1)×c(9 ,1)=504 种

几个思维含量的例题:

1.[ZOJ3557]How Many Sets II

给一个集合,一共个元素,从中选取个元素,选出的元素中没有相邻的元素的选法一共有多少种?

这道题是插板法的经典应用
首先我们拿出m个小球,还剩下n-m个小球。这n-m个小球一共有n-m+1个空(左右两边也可以),把这m个小球插入到这n-m+1个空里就是答案,即
这m个小球的编号取决于它插入的位置,所以和选哪个小球没关系

2.hdu 3037 Saving Beans

有 n 个不同的盒子,在每个盒子中放一些球(可以不放),使得总球数≤m, 求方案数(mod p)

第一种方法:

设最后放了k个球,根据"隔板法"由方案数C(k+n-1,n-1),:
ans=C(n-1,n-1)+C(n,n-1)+C(n+1,n-1)+……+C(n+m-2,n-1)+C(n+m-1,n-1)
=C(n+m,n);(mod p)

第二种方法:

这个题和原来不一样的地方:总球数≤m,一般我们就是总球数就是 m,所以我们可以增加一个盒子,现在 n+1 个盒子,现在假设就要放 m 个球,n 来来放 k 个球,剩下的 m-k 就放在那个我们增加的盒子里,这样 n 个盒子的组合球数就是我们要求的,所以题目等价于 m 个球放入 n+1 个盒子中,盒子有里球数可以为 0,添元素插板法,每一个盒子都增加一个球,即 m+n+1 个球放入 n+1 个盒子,c(m+n,n)为答案。

  • 9
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值