“隔板法”详解

理解隔板法

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

应用隔板法必须满足的3个条件:

  1. n个元素是相同的
  2. k个组是互异的
  3. 每组至少分得一个元素

公式

将n个相同的求放到m个不同的盒子里的个数为:$C_{n-1}^{m-1}$

例如,把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个,第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个球,再把剩下的球分成4组,每组至少1个,由例1知方法有C(13,3)=286(种)。

添板插板法

例5.有一类自然数序列,从第三个数字开始,每个数字都恰好是它前面两个数字之和,直至不能再写为止,如1 4 5 9,5 8 13等等,这类数共有几个?

分析:因为前2位唯一确定了整个序列,只要求出前两位的所有情况即可,设前两位为a和b

显然a + b <= 9,且a不为0.

设1_1_1_1_1_1_1_1_1    1代表9个1,_代表8个空位.

我们要把9分成两组,但b可以为0,我们先给b一个1,然后就相当于把10个球放入(a, b)两不同的盒子里,每个盒子至少放一个,C(9, 1),但这是错误的,为什么?因为1不一定要全部放入。其实解决这个问题可以这么想,我们引入一个盒子c放a、b取完后剩下的1,所以保证c中球数大于0,需要再增加一个球,题目等价于,11个球放入3个不同的箱子,每个箱子至少放一个,C(10, 2).

 

例5另一种解法:

显然a + b <= 9,且a不为0.

设1_1_1_1_1_1_1_1_1_ _    1代表9个1,_代表8个空位.

之前我们可以在9个空位中插入2个板,分成3组,第一组取到a个1,第二组取到b个1,但此时第二组始终不能取空。若在末尾添加两个空,第二组就能取到空,所以共有C(10, 2).

选板法

例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个节目,共有几种情况?
分析:可以用一个节目去插7个空位,再用第二个节目去插8个空位,用最后个节目去插9个空位,所以一共是C(7, 1)×C(8, 1)×C(9, 1)=504种.

OJ例题

1.[ZOJ3557]How Many Sets II

题意:从n个小球中取m个小球,不能取相邻的小球的方案数.

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

2.hdu 3037 Saving Beans

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

方法一:

设最后放了k个球,根据"隔板法"由方案数C(k+n-1,n-1),:<br>
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)<br>
&nbsp; &nbsp; &nbsp;=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)为答案。

 

 

参考链接:http://www.360doc.com/content/18/1010/18/5315_793617654.shtml

posted @ 2019-02-26 22:01  Rogn  阅读(8596)  评论(0编辑  收藏  举报