Catalan卡特蘭數入門

2021-09-08 20:00:48 字數 1209 閱讀 8977

卡特蘭數是組合數學中的一種常見數列

它的前幾項為:

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670,129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452

遞迴公式1

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

遞迴公式2

$f(n)=\frac$

組合公式1

$f(n)=\frac^n}$

組合公式2,重要!重要!重要!

$f(n)=c_^n-c_^$

遞推公式

$f[n]=\sum_^f[i]*f[n-i-1]$

一般在做題的時候,都是利用這個公式進行遞推

不會:stuck_out_tongue_closed_eyes:。(眾人:那你在這瞎bb啥。

:triumph:)

這個東西的證明我確實不會

不過我在這裡教大家一種非常簡單易懂的記憶方法,

記$f[n]$為卡特蘭數的第$n$項

首先你要明白一件事情

一棵$n$個節點的二叉樹的形態總數就是卡特蘭數的第$n$項

對於一棵二叉樹,遞迴的考慮

一棵只有乙個節點的二叉樹只有一種形態

對於不是乙個節點的二叉樹,按照他的左右孩子進行討論

設它的左孩子有$i$個節點,那麼它的形態數為$f[i]$

那麼它的右孩子有$n-i-1$個節點,那麼它的形態數為$f[n-i-1]$ 

又因為每乙個節點都可以作為根節點

所以不難得到遞推式

$f[n]=\sum_^f[i]*f[n-i-1]$

都是裸題我就不細講了

卡特蘭數是一種常見的數列

需要每一位選手掌握它的遞推式

卡特蘭數一般不會單獨出現,往往會出現在一些題目的部分分中,如2017某省省選(具體忘記了。)

在考場上,要證明乙個東西是卡特蘭數是非常困難的

自己手玩點小資料,只要前幾項吻合,那一般就是卡特蘭數啦

卡特蘭數 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 ...

Catalan數(卡特蘭數)

卡特蘭數 規定h 0 1,而h 1 1,h 2 2,h 3 5,h 4 14,h 5 42,h 6 132,h 7 429,h 8 1430,h 9 4862,h 10 16796,h 11 58786,h 12 208012,h 13 742900,h 14 2674440,h 15 969484...