卡特蘭數和超級卡特蘭數

卡特蘭數和超級卡特蘭數


這篇博客主要是想講一下超級卡特蘭數(大施羅德數),順帶就想講一下卡特蘭數.函數

卡特蘭數

定義

卡特蘭數記爲\(C_n\)
\(C_1=1\)
\(\forall n \geq 2, C_n=\sum_{i=1}^{n-1}C_i C_{n-i}\)優化

前幾項大概是: 1, 1, 2, 5, 14, 42, 132......spa

直接遞推未免效率過低,咱們考慮用生成函數優化.
顯然有\(C(x)=C(x)^2+x\)
解得\(C(x)={1-(1-4x)^{\frac 1 2}\over 2}\)
\((1-4x)^{\frac 1 2}\)用廣義二項式定理展開
獲得\(C(x)\)\(x^n\)項係數爲\(\frac 1 n \binom {2n-2}{n-1}\)博客

組合意義

1.\(n+1\)邊形的三角剖分方案數.
注意到任意三角形必定是某一條邊在多邊形上,而後再選一個不是這條邊的端點的點,並且注意到這樣一個三角形不會被計算兩次,因此會獲得一個相似於卡特蘭數的遞推式.
若是直接枚舉一條邊而後分紅兩邊的話,是算不對的,由於可能一個點不與多邊形上任意非相鄰點連邊.若是要強行這麼算的話,那就得枚舉全部的邊而後除以算重的次數.class

2.\(n\)個數的連乘積,只用結合律(加括號)來改變乘法順序,問有多少中乘法的順序.
考慮枚舉最後是哪兩個數相乘,不難發現是卡特蘭數的形式.效率

3.\(n-1\)對括號的括號序列的合法方案數.
枚舉第一個左括號所對應的右括號的位置便可.擴展

4.從(0,0)到(n-1,n-1),每次只能往右或往上走,求不超過\(y=x\)這條直線的方案數.
考慮第一步確定是往右邊走,而後枚舉第一個通過\(y=x\)這條直線的位置.
另一種思路,將條件變成不通過\(y=x+1\)這條直線,那麼尋找(0,0)關於\(y=x+1\)的對稱點
(-1,1),顯然每一條從(0,0)到(n-1,n-1)的不合法路徑對應一條從(-1,1)到(n-1,n-1)的不合法路徑.方法

超級卡特蘭數

記超級卡特蘭數爲\(S_i\)
\(S_1=1\)
\(\forall i \geq 2,S_i=S_{i-1}+\sum_{i=1}^{n-1}S_iS_{n-i}\)生成

寫成生成函數的形式是\(S(x)=xS(x)+S(x)^2+x\)
解得\(S(x)={1-x - \sqrt{x^2-6x+1} \over 2}\)math

若是仍是用廣義二項式定理展開的話,通過複雜化簡,能夠獲得\(S_n=\sum_{i=1}^n \binom {n+i-1} {2i}C_i\),後面咱們能夠看見,這個式子有着清晰的組合意義.

不過網上還有一種\(O(n)\)遞推的方法,簡而言之就是快速求出\(\sqrt{x^2-6x+1}\)

接下來給出的一種方法,能夠在\(O(nk)\)的複雜度快速求出k次多項式開方後前n項的值
設要開方的多項式爲\(P(x)\),開方後的多項式爲\(F(x)\).
\(F(x)=P(x)^{\frac 1 2}=\sum_{i=0}^{\infty} f_i x^i\)
兩邊求導,可得\(F'(x)=\frac 12 P(x)^{-\frac 12} P'(x)\)
\(F(x)P'(x)=F'(x)P(x)\)
對比每一項係數,不可貴到k+1項的遞推式.

最後給出遞推公式:\((n+1)f_{n+1}=(6n-3)f_n-(n-2)f_{n-1}\),不過要注意這個遞推公式除了第一項其餘的項都是超級卡特蘭數的\(\frac12\)

組合意義

相比卡特蘭數,超級卡特蘭數的惟一區別就是在遞推的時候加了一個\(S_{n-1}\),那麼其組合意義也能夠看作是卡特蘭數的擴展.

1.\(n+1\)邊形的任意剖分方案數.
仍是考慮枚舉一條多邊形上的邊,那麼有可能這條邊仍然與另外一個點拉成一個三角形,也有可能這條邊上沒有,那麼把這兩種加起來就是定義的遞推式

2.括號序列,每一個位置可能左括號,右括號和0.括號對數與0的個數之和爲n-1, 問合法的括號序列數.
一樣枚舉第一個是左括號仍是0.
值得一提的是,能夠當作先插括號再插0,那麼枚舉括號對數i,0有n-i-1個,須要放入2i+1個位置中,那麼不可貴到上面經過廣義二項式推出來的式子.

3.從(0,0)到(n-1,n-1),每次能往右,往上,往右上走,求不超過\(y=x\)這條直線的方案數. 枚舉第一次是走右上仍是走右. 一樣使用容斥思想,把答案轉化爲從(0,0)到(n-1,n-1)減去(-1,1)到(n-1,n-1). 那麼從(0,0)到(n,m)的路徑條數怎麼求呢.能夠考慮枚舉往右上的次數,而後仍是考慮先走右和上,而後再把走右上的插入便可.

相關文章
相關標籤/搜索