卡特蘭數參考鏈結 ( 裡面有關於其在一些題目的應用 )
1、前三十項卡特蘭數表
[1,1,2,5,14,42,132,429,1430,4862,16796,58786,view code208012,742900,2674440,9694845,35357670,129644790,
477638700,1767263190,6564120420,24466267020,
91482563640,343059613650,1289904147324,
4861946401452,18367353072152,69533550916004,
263747951750360,1002242216651368,3814986502092304]
2、卡特蘭數求模模板
constview codeint c_maxn = 1e4 + 10
;ll catalannum[c_maxn];
ll inv[c_maxn];
inline
void catalan_mod(int
n, ll mod)
3、卡特蘭大數模板
#includeusingview codenamespace
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;
}
棧(卡特蘭數模板)
題目背景 棧是計算機中經典的資料結構,簡單的說,棧就是限制在一端進行插入刪除操作的線性表。棧有兩種最重要的操作,即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...