卡特蘭數模板

2022-06-04 04:06:11 字數 1198 閱讀 2255

卡特蘭數參考鏈結 ( 裡面有關於其在一些題目的應用 )

1、前三十項卡特蘭數表

[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,18367353072152,69533550916004,

263747951750360,1002242216651368,3814986502092304]

view code

2、卡特蘭數求模模板

const

int c_maxn = 1e4 + 10

;ll catalannum[c_maxn];

ll inv[c_maxn];

inline

void catalan_mod(int

n, ll mod)

view code

3、卡特蘭大數模板

#includeusing

namespace

std;

const

int c_maxn = 100 + 10;///

項數int catalan_num[c_maxn][1000];///

儲存卡特蘭大數、第二維為具體每個數字的值

int numlen[c_maxn];///

每個大數的數長度、輸出的時候需倒序輸出

void catalan() //

求卡特蘭數

while(carry) //

進製處理

carry = 0

;

for(j = len-1; j >= 0; j--) //

除法

while(!catalan_num[i][len-1]) //

高位零處理

len --;

numlen[i] =len;

}}int main(void

)puts(

"");

}return0;

}

view code

棧(卡特蘭數模板)

題目背景 棧是計算機中經典的資料結構,簡單的說,棧就是限制在一端進行插入刪除操作的線性表。棧有兩種最重要的操作,即pop 從棧頂彈出乙個元素 和push 將乙個元素進棧 棧的重要性不言自明,任何一門資料結構的課程都會介紹棧。寧寧同學在複習棧的基本概念時,想到了乙個書上沒有講過的問題,而他自己無法給出...

卡特蘭數 大數模板

include include include include include include include include include include define n 500010 define inf 10000000 define ll long long define eps 10e...

hdu2067 小兔的棋盤 (卡特蘭數模板題)

傳送門 題意 從左下角走到右上角的不越過對角線的最短路徑的種類數。思路 參見我的那篇卡特蘭數全家桶的部落格。這道題沒說是先往上走再往右還是反過來,所以要輸出h n 2 如下 include include include include include include include include...