組合數學之母函式一(卡特蘭數)

2021-08-26 00:15:22 字數 1219 閱讀 2859

卡特蘭數公式:

2.乙個棧(無窮大)的進棧序列為1,2,3,… ,n,有多少個不同出棧序列?

分析:

(1)對於每個數來說,必須進棧一次,出棧一次。我們把進棧設為狀態「1」,出棧設為狀態「0」。n個數的所有狀態對應n個1和n個0組成的2n位二進位制數。由於等待入棧的運算元按照1,…,n的順序排列,入棧的運算元b大於等於出棧的運算元a(a<=b),因此輸出序列的總數目等於由左到右掃瞄有n個1和n個0組成的2n位二進位制數,1的累計數不小於0的累計數的方案種數。

下面是**:

不可能存在棧底的元素已經出棧了,但是棧頂的還沒出來。所以從左到右掃瞄1的累計數一定不小於0的累計數。

(2)在2n位二進位制數中填入n個1的方案數為c(2n,n),不填1的其餘n位自動填0。從中減去不符合要求(從左到右掃瞄,0的累計數大於1的累計數)的方案數即為所求。

不符合要求的數的特徵是從左到右掃瞄時,必然在某乙個奇數字2m+1位上首先出現m+1個-的累計數和m個1的累計數,此後的2(n-m)-1位上有n-m個1和n-m-1個0。如若把後面這個2(n-m-1)-1位上的0和1互換,使之成為n-m個0和n-m-1個1,結果的1個有n+1個0和n-1個1組成的2n位數,即乙個不合要求的數對應於乙個有n+1個0和n-1個1組成的排列。

(3)反過來,任何乙個由n+1個0和n-1個1組成的2n位二進位制數,由於0的個數多餘2個,2n為偶數,故必在某乙個奇數字上出現0的累計數超過1的累計數。同樣在後面部分0和1互換,使之成為由n+1個0和n-1個1組成的2n位數,即n+1個0和n-1個1組成的2n位數必對應乙個不符合要求的數。

因為不符合要求的2n位數與n+1個0,n-1個1組成的排列一一對應。

顯然不符合要求的方案數為c(2n,n+1)。由此得出輸出序列的總數目為:

c(2n,n)-c(2n,n+1)=c(2n,n)/(n+1)

等量關係證明:

應用題目:

hdu 1023 火車進站問題:

組合數學 卡特蘭數

我們以一道題為例來介紹卡特蘭數 給定n n 個0 0 和n n個1 1,它們將按照某種順序排成長度為2 n 2n的序列,求它們能排列成的所有序列中,能夠滿足任意字首序列中0 0的個數都不少於1 1的個數的序列有多少個。輸出的答案對109 7 109 7取模。109 7 為了便於解決,我們可以把這個問...

組合數學 卡特蘭數總結

卡特蘭數 問題 n對括號有多少種合法的匹配方式?卡特蘭數的常見應用之一 結論 對於n對括號,合法的排列共有c n,2n c n 1,2n 基本思路 考慮n對括號,有n個 和n個 對於任意乙個 其前面必定有乙個 跟他對應,如果沒有則是非法序列。也就是說,對於 其前面的 的數量必須大於等於 的數量。假設...

神奇的組合數學 卡特蘭數

定義 令h 0 1 h 1 1 catalan數滿足遞推式。h n h 0 h n 1 h 1 h n 2 h n 1 h 0 n 2 通項公式 證明如下 摘自taocp的原練習題 數競黨很少用不嚴格證明的定理 1.括號對 合法的括號對對數答案為h n 2.二叉樹 合法的樹有答案為h n 3.分多邊...