理解隔板法

【定义】

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

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

 

【公式】

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

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

添板插板法

5另一种解法:


显然a+b<=9 ,a不为
1 -1- 1 -1 -1 -1 -1 -1 -1 - -    1代表91-代表10个空位 (第一个没有因为a不能为0,我们可以在这9个空位中插入2个板,分成3组,第一组取到a1,第二组取到b1,但此时第二组始终不能取空,若多添加第10个空时,设取到该板时第二组取空,即b=0,所以一共有 c102=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天,几种情况? C10 1=10 
3:吃3天,每天预先吃2块,即问9块糖,每天至少1块,吃3? C2=28 
4:吃4天,每天预先吃2块,即问7块糖,每天至少1块,吃4天?c3=20 
所以一共是 2+10+28+20=60  

 


逐步插板法 


:在一张节目单中原有6个节目,若保持这些节目相对次序不变,再添加3个节目,共有几种情况? 
-o - o - o - o - o - o - 三个节目abc 
可以用一个节目去插7个空位,再用第二个节目去插8个空位,用最后个节目去插9个空位 
所以一共是 c7, 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)为答案。

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐