卡特蘭數:規定c0=1,而c1=1,c2=2,c3=5,c4=14,c5=42,c6=132,c7=429,c8=1430,c9=4862,c10=16796,c11=58786,c12=208012,c13=742900,c14=2674440,c15=9694845
公式為cn=c(2n, n)/(n+1)=c(2n, n)-c(2n, n-1)
n推導過程
c(n)11
121 12
31 2 254
1 3 5 5145
1 4 9 14 14426
1 5 14 28 42 42
1327
1 6 20 48 90 132 132
429..
......
...
1. 買票找零問題(程式設計之美4.3)
總數是2n,解是cn。其中給出了一種容易理解的分析。將兩種面值看作左括號和右括號。兩個必須成對出現,因此第0個是左括號,並且與其對應的右括號之間括號個數是偶數2i。之後剩餘的括號個數是2n-2i-2,0<=i<=n-1。遞推求解,得到即為卡特蘭數。
2. 出棧次序問題。乙個棧(無窮大)的進棧序列為1,2,3,..n,有多少個不同的出棧序列?
解是cn。
3. 12個高矮不同的人,排成兩排,每排必須是從矮到高排列,而且第二排比對應的第一排的人高,問排列方式有多少種?
解是c6。這個問題從另乙個角度來看,就是1-12分別放到第一排和第二排。第一排用左括號表示,第二排用右括號表示。這樣就轉換成了出棧次序問題。
更多問題
卡特蘭數(Catalan)相關問題
cn 2n c n 12 n 1n 1cn 2n假設有n對左右括號,請求出合法的排列有多少個?合法是指每乙個括號都可以找到與之配對的括號,比如n 1時,是合法的,但是 為不合法。給定乙個整數n,請返回所求的合法排列數。保證結果在int範圍內。2n個人排隊買票,n個人拿5塊錢,n個人拿10塊錢,票價是...
卡特蘭數問題
卡特蘭陣列 1,1,2,5,14,42,132 公式 f n f 0 f n 1 f 1 f n 2 f n 1 f 0 c 2n,n n 1 c 2n,n c 2n,n 1 f 0 1,f 1 1,f 2 2,f 3 5 已知進棧順序abcd,那麼可能的出棧順序多少種?答案 f 4 14 解析 以...
卡特蘭數相關知識
kuangbin部落格 卡特蘭數又稱卡塔蘭數,是組合數學中乙個常出現在各種計數問題中出現的數列。由以比利時的數學家歐仁 查理 卡塔蘭 1814 1894 命名。卡特蘭數 前幾項為 oeis中的數列a000108 1,1,2,5,14,42,132,429,1430,4862,16796,58786,...