OJ經典題目 卡特蘭數

2021-10-03 15:46:50 字數 799 閱讀 5026

卡特蘭數又稱卡塔蘭數,卡特蘭數是組合數學中乙個常出現在各種計數問題中的數列。以比利時的數學家歐仁·查理·卡塔蘭 (1814–1894)的名字來命名。

原理如下:

設h(n)為catalan數的第n+1項,令h(0)=1,h(1)=1,catalan數滿足遞推式 [2] :

h(n)= h(0)*h(n-1)+h(1)h(n-2) + … + h(n-1)h(0) (n>=2)

例如:h(2)=h(0)h(1)+h(1)h(0)=11+11=2

h(3)=h(0)h(2)+h(1)h(1)+h(2)h(0)=12+11+21=5

另類遞推式:

h(n)=h(n-1)(4n-2)/(n+1);

遞推關係的解為:

h(n)=c(2n,n)/(n+1) (n=0,1,2,…)

遞推關係的另類解為:

h(n)=c(2n,n)-c(2n,n-1)(n=0,1,2,…)

這種遞推關係經常用來出題做程式設計。

我的解法如下:

#include

#include

#include

#include

#define ll long long

ll dp[32]

[32];

void

init()

}}intmain()

return0;

}

執行結果:

C 題目 卡特蘭數

卡塔蘭數的定義 第 0 項為 1 第 1 項為 1 第 n 項的計算公式 cn c0 cn 1 c1 cn 2 c2 cn 3 cn 1 c0 卡特蘭數是從第0項開始,其前10項為 1,1,2,5,14,42,132,429,1430,4862 問題 編寫函式ctl,計算並輸出卡特蘭數的前 n 項 ...

卡特蘭數,高精度卡特蘭數

簡單介紹 卡特蘭數是組合數學中常常出現的乙個數列。個人認為不管是遞推公式還是代表的含義都比斐波那契數列難理解一些。遞推公式 應用 1.cn表示長度2n的dyck word的個數。dyck word是乙個有n個x和n個y組成的字串。且全部的字首字串皆滿足x的個數大於等於y的個數。下面為長度為6的dyc...

卡特蘭數和超級卡特蘭數

這篇部落格主要是想講一下超級卡特蘭數 大施洛德數 順帶就想講一下卡特蘭數.卡特蘭數記為 c n c 1 1 forall n geq 2,c n sum c i c 前幾項大概是 1,1,2,5,14,42,132.直接遞推未免效率太低,我們考慮用生成函式優化.顯然有 c x c x 2 x 解得 ...