1. 程式人生 > >卡特蘭(Catalan)數列

卡特蘭(Catalan)數列

卡特蘭數又稱卡塔蘭數,英文名 Catalan number,是組合數學中一個常出現在各種計數問題中出現的數列。以比利時的數學家歐仁·查理·卡塔蘭 (1814–1894)的名字來命名,其前幾項為 :

  • 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, …

h(0)=1,h(1)=1,遞迴關係式如下:

h(n)=k=0n1h(k)h(n1k)

和一維離散時間傅立葉變換 o[n]=f[n]g[n]=uf[nu]g[u]=uf[u]g[nu]一樣,都是下標之間存在一定的關係。

最終可得:

h(n)=(2nn)n+1=2n!n!(n+1)!

此外還需注意的一點是,如果卡特蘭數列不是從 0 而是從 1 開始計數的話,形式要發生一些變化:

h[n]=t=1n1h[t]h[nt]

1. 卡特蘭數列的應用

  • 矩陣連乘的時間複雜度(不同的 t 表示不同的切分方法,也即乘積順序):

    T[N]=
    t=1N1
    T[t]T[Nt]

相關推薦

Catalan數列

卡特蘭數又稱卡塔蘭數,英文名 Catalan number,是組合數學中一個常出現在各種計數問題中出現的數列。以比利時的數學家歐仁·查理·卡塔蘭 (1814–1894)的名字來命名,其前幾項為 :

[ACM] hdu 2067 小兔的棋盤Catalan

小兔的棋盤 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5814    Accepted Submissio

catalan總結 蘭大數、蘭大數取模、數應用

本文講解卡特蘭數的各種遞推公式,以及卡特蘭數、卡特蘭大數、卡特蘭大數取模的程式碼實現,最後再順帶提一下卡特蘭數的幾個應用。 什麼是卡特蘭數呢?卡特蘭數無非是一組有著某種規律的序列。重要的是它的應用。

CSU 1789: catalansqure數 JAVA

題目:InputOutputSample Input59Sample Output1583850964596120042686772779038896這個題目意思很簡單,就是說,C是卡特蘭數,求S很明顯

CSU 1320: Scoop water數 JAVA

題目:Description  zzy今天剛買了兩個水瓢A和B,容量都是為1升,童心未泯的他打算用這個水瓢來玩遊戲。  首先zzy準備了一個容量可看作無窮大的水缸,剛開始水缸是空的,然後用水瓢A往水缸里

Catalan

bsp 凸包 net 規律 序列 targe 不同 target 二叉 推薦:卡特蘭數總結 定義 公式 模型與例題 1.火車進棧 luogu棧 2.合法括號序列 牛客9.16普及組T4 3.0/1走 4.凸包三角形劃分。 5.n個點二叉樹不同形態方案數。

數(Catalan)及其應用

入棧 一個 其中 無法 數列 選擇 每天 編號 匹配 卡特蘭數 大佬博客https://blog.csdn.net/doc_sgl/article/details/8880468 卡特蘭數是組合數學中一個常出現在各種計數問題中出現的數列。 卡特蘭數前幾項為 : C0=

數——Catalan Number

卡特蘭數:數學組合中一個常出現在各種計數問題中的數列,以比利時的數學家歐仁·查理·卡特蘭的名字命名。 從第0項開始依次為:1,1,2,5,14,42,132,429,1430,4862, 16796, 58786, 208012, 742900, 2674440, 9694845

數(Catalan Number) 演算法、數論 組合~

Catalan number,卡特蘭數又稱卡塔蘭數,是組合數學中一個常出現在各種計數問題中出現的數列。以比利時的數學家歐仁·查理·卡塔蘭 (1814–1894)命名。 卡特蘭數的前幾個數 前20項為(OEIS中的數列A000108):1, 1, 2, 5,

catalan證明及應用舉例

卡塔蘭數是組合數學中一個常在各種計數問題中出現的數列。其計算公式是 Cn=Cn2nn+1=(2n)!(n+1)!n!,n為自然數 C n

Catalan數 ( ACM 數論 組合 )

卡塔蘭數 卡塔蘭數是組合數學中一個常出現在各種計數問題中出現的數列。由以比利時的數學家歐仁·查理·卡塔蘭 (1814–1894)命名。 卡塔蘭數的一般項公式為                       另類遞迴式:  h(n)=((4*n-2)/(n+1)

數[catalan數]`

定義: 卡特蘭數又叫卡塔蘭數,是組合數學中一類常用的數列。前幾項為:1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 74290

數——Catalan

卡特蘭數是組合數學中一個常出現在各種計數問題中出現的數列。由以比利時的數學家歐仁·查理·卡塔蘭 (1814–1894)命名。 卡塔蘭數的一般項公式為                        通常使用的遞迴式:  h(n)=((4*n-2)/(n+1))*h(n-

數列Catalan

【概述】 卡特蘭數列是組合數學中一個常出現在各種計數問題中出現的數列,其前幾項為 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, ...... 卡特蘭數首先是由尤拉在計算對凸 n 邊形的不

【算法專題】計數數列

n-1 映射 點分治 blog -s 方法 .org div n-k Catalan數列:1 1 1 2 5 14 42 132 429 1430 4862 16796 【計數映射思想】 參考:卡特蘭數 — 計數的映射方法的偉大勝利 計數映射:將難以統計的數映射為另一種形式

棧 | Catalan number

文章目錄 1.棧與卡特蘭數的關係 2.卡特蘭數 3.擴充套件 4.相關題目 1.棧與卡特蘭數的關係 棧是計算機中經典的資料結構,我們也會遇到一個常見的問題:一共有多少種合法的出棧順序? 先說一下什麼是合法的出棧序列, 凡是

catalan number

1.  卡特蘭數是什麼       卡塔蘭數是組合數學中一個常在各種計數問題中出現的數列。 公式為 : 前幾項為 (n=0,1,2,3,4,5時):     1, 1, 2, 5, 14, 42

Catalan的原理和題目

Catalan數的定義令h(1)=1,Catalan數滿足遞迴式:h(n) = h(1)*h(n-1) +h(2)*h(n-2) + ... + h(n-1)h(1),n>=2該遞推關係的解為: 證明: 令1表示進棧,0表示出棧,則可轉化為求一個2n位、含n個1、n個0的二進位制數,滿

程式設計師數學--Catalan number

10個高矮不同的人,排成兩排,每排必須是從矮到高排列,而且第二排比對應的第一排的人高,問有多少種排列方式? 我們可以先把這10個人從低到高排列,然後,選擇5個人排在第一排,那麼剩下的5個人肯定是在第二排。用0表示對應的人在第一排,用1表示對應的人在第二排,那麼含有5個0

棧和Catalan number

1.棧與卡特蘭數的關係 棧是計算機中經典的資料結構,我們也會遇到一個常見的問題:一共有多少種合法的出棧順序? 先說一下什麼是合法的出棧序列, 凡是合法序列都遵循以下規律:即對於出棧序列中的每一個數字,在它後面的、比它小的所有數字,一定是按遞減順序排列的。 例如