卡特蘭數列(Catalan)

2021-09-11 21:39:35 字數 1631 閱讀 6302

卡特蘭數列是組合數學中乙個常出現在各種計數問題**現的數列,其前幾項為 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, …

卡特蘭數首先是由尤拉在計算對凸 n 邊形的不同的對角三角形剖分的個數問題時得到的,即在乙個凸 n 邊形中,通過不相交於 n 邊形內部的對角線,把 n 邊形拆分成若干三角形,不同的拆分數目用 hn 表示,hn 即為卡特蘭數。

1.遞迴公式 1

f (n

)=∑i

=0n−

1f(i

)∗f(

n−i−

1)

f(n)=\sum_^f(i)*f(n-i-1)

f(n)=i

=0∑n

−1​f

(i)∗

f(n−

i−1)

2.遞迴公式 2

f (n

)=f(

n−1)

∗(4∗

n−2)

(n+1

)f(n)=\frac

f(n)=(

n+1)

f(n−

1)∗(

4∗n−

2)​

3.組合公式 1

f (n

)=c2

nn(n

+1

)f(n)=\frac^n}

f(n)=(

n+1)

c2nn

​​4.組合公式 2

f (n

)=c2

nn−c

2nn−

1f(n)=c_^n-c^_

f(n)=c

2nn​

−c2n

n−1​

二叉樹的計數:已知二叉樹有 n 個結點,求能構成多少種不同的二叉樹

括號化問題:乙個合法的表示式由()包圍,()可以巢狀和連線,如:(())()也是合法表示式,現給出 n 對括號,求可以組成的合法表示式的個數

劃分問題:將乙個凸 n+2 多邊形區域分成三角形區域的方法數

出棧問題:乙個棧的進棧序列為1,2,3,…n,求不同的出棧序列有多少種

路徑問題:在 n*n 的方格地圖中,從乙個角到另外乙個角,求不跨越對角線的路徑數有多少種

握手問題:2n 個人均勻坐在乙個圓桌邊上,某個時刻所有人同時與另乙個人握手,要求手之間不能交叉,求共有多少種握手方法

ll h[36]

;void

init()

}

#define base 10000

int a[

100+5]

[100];

void

multiply

(int num,

int n,

int b)

//大數乘法

}void

divide

(int num,

int n,

int b)

//大數除法

}void

init()

}int

main()

return0;

}

卡特蘭數列 Catalan

卡特蘭數列 catalan 簡述卡特蘭數又稱卡塔蘭數,它是組合數學中乙個常出現在各種計數問題 現的數列,其前幾項為 1,1,2,5,14,42,132,429,1430,4862,16796,58786,208012,公式1.遞迴公式1 2.遞迴公式2 3.組合公式1 4.組合公式2 5.增長趨勢 ...

卡特蘭數 Catalan

問題 程式設計之美 第4.3節中提到了 買票找零 問題,查閱了下資料,此問題和卡特蘭數 cn有關,其定義如下 卡特蘭數真是乙個神奇的數字,很多組合問題的數量都和它有關係,例如 yyy xyxxyy xyxyxy xxyyxy xxyxyy ab c d a bc d ab cd a bc d a b...

catalan(卡特蘭)數

一 h n h 0 h n 1 h 1 h n 2 h n 1 h 0 其中n 2 h 0 h 1 1 h n 4n 2 n 1 h n 1 n 1 h 0 1 h n c 2n,n 一般情況 要取模 下的求法 簡單的catalan模板題 這個題要取1e9 7的模,直接按照公式h n 4n 2 n ...