**: 請支援原創
卡特蘭數是一種經典的組合數,經常出現在各種計算中,其前幾項為 :
132, 429, 1430, 4862, 16796,
58786, 208012, 742900, 2674440, 9694845,
35357670, 129644790, 477638700, 1767263190,
6564120420, 24466267020, 91482563640, 343059613650,1289904147324,
4861946401452, ...
卡特蘭數一般的計算公式:另類遞推公式:c(n)=c(n-1)*((4*n-2)/(n+1));
cn的另乙個表達形式為
所以,cn是乙個自然數,這一點在先前的通項公式中並不顯而易見。
這個表達形式也是andré對前一公式證明的基礎。
卡塔蘭數滿足以下遞推關係
它也滿足
這提供了乙個更快速的方法來計算卡塔蘭數。
卡塔蘭數的漸近增長為
它的含義是左式除以右式的商趨向於1當n → ∞。(這可以用n!的斯特靈公式來證明。)
所有的奇卡塔蘭數cn都滿足n = 2^k − 1。
所有其他的卡塔蘭數都是偶數。
說了這麼多,那麼卡特蘭數在實際問題中的應用還是很廣泛的:
經典問題:
(實質上卻都一樣,無非是遞迴等式的應用,就看你能不能分解問題寫出遞迴式了)
括號化問題。
矩陣鏈乘: p=a1×a2×a3×……×an,依據乘法結合律,不改變其順序,只用括號表示成對的乘積,試問有幾種括號化的方案?(h(n)種)
出棧次序問題。
乙個棧(無窮大)的進棧序列為1,2,3,..n,有多少個不同的出棧序列?
類似:
(1)有2n個人排成一行進入劇場。入場費5元。其中只有n個人有一張5元鈔票,另外n人只有10元鈔票,劇院無其它鈔票,問有多少中方法使得只要有10元的人買票,售票處就有5元的鈔票找零?(將持5元者到達視作將5元入棧,持10元者到達視作使棧中某5元出棧)
(2)在圓上選擇2n個點,將這些點成對連線起來,使得所得到的n條線段不相交的方法數。
將多邊行劃分為三角形問題。
將乙個凸多邊形區域分成三角形區域的方法數?
類似:一位大城市的律師在她住所以北n個街區和以東n個街區處工作。每天她走2n個街區去上班。如果她從不穿越(但可以碰到)從家到辦公室的對角線,那麼有多少條可能的道路?
類似:在圓上選擇2n個點,將這些點成對連線起來使得所得到的n條線段不相交的方法數?
4.給頂節點組成二叉樹的問題。
給定n個節點,能構成多少種形狀不同的二叉樹?
先去乙個點作為頂點,然後左邊依次可以取0至n-1個相對應的,右邊是n-1到0個,兩兩配對相乘,就是h(0)*h(n-1) + h(2)*h(n-2) +…+ h(n-1)h(0)=h(n)(能構成h(n)個)
**實現見:
卡特蘭數的應用
卡特蘭數又稱卡塔蘭數,英文名catalan number,是 組合數學 中乙個常出現在各種計數問題中出現的 數列。以 比利時的數學家歐仁 查理 卡塔蘭 1814 1894 的名字來命名,其前幾項為 1,1,2,5,14,42,132,429,1430,4862,16796,58786,208012,...
STL容器的適用情況
一 各種容器的特性 vector 典型的序列容器,c 標準嚴格要求次容器的實現記憶體必須是連續的,唯一可以和標準c相容的stl容器,任意元素的讀取 修改具有常數時間複雜度,在序列尾部進行插入 刪除是常數時間複雜度,但在序列的頭部插入 刪除的時間複雜度是o n 可以 在任何位置插入新元素,有隨機訪問功...
NOIP 衝刺 常見的遞推之卡特蘭數
例題 在乙個凸n邊形中,通過不相交於n邊形內部的對角線,把n邊形拆分成若干三角形,問有多少種拆分方案。啊啊啊啊 卡特蘭數 卡特蘭數又稱卡塔蘭數,卡特蘭數是組合數學中乙個常出現在各種計數問題中的數列。以比利時的數學家歐仁 查理 卡塔蘭 1814 1894 的名字來命名。原理 令h 0 1,h 1 1,...