組合數學之隔板法

理解隔板法

【定義】

隔板法就是在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)爲答案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章