日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

组合数学 —— 卡特兰数列(Catalan)

發布時間:2025/3/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 组合数学 —— 卡特兰数列(Catalan) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【概述】

卡特蘭數列是組合數學中一個常出現在各種計數問題中出現的數列,其前幾項為 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, ......

卡特蘭數首先是由歐拉在計算對凸 n 邊形的不同的對角三角形剖分的個數問題時得到的,即在一個凸 n 邊形中,通過不相交于 n 邊形內部的對角線,把 n 邊形拆分成若干三角形,不同的拆分數目用 Hn 表示,Hn 即為卡特蘭數。

【公式】

1.遞歸公式 1

2.遞歸公式 2

3.組合公式 1

4.組合公式 2

【應用】

  • 二叉樹的計數:已知二叉樹有 n 個結點,求能構成多少種不同的二叉樹
  • 括號化問題:一個合法的表達式由()包圍,()可以嵌套和連接,如:(())()也是合法表達式,現給出?n 對括號,求可以組成的合法表達式的個數
  • 劃分問題:將一個凸 n+2 多邊形區域分成三角形區域的方法數
  • 出棧問題:一個棧的進棧序列為1,2,3,..n,求不同的出棧序列有多少種
  • 路徑問題:在 n*n 的方格地圖中,從一個角到另外一個角,求不跨越對角線的路徑數有多少種
  • 握手問題:2n 個人均勻坐在一個圓桌邊上,某個時刻所有人同時與另一個人握手,要求手之間不能交叉,求共有多少種握手方法
  • 【實現】

    1.n<=35 的卡特蘭數的實現

    LL h[36]; void init() {h[0]=h[1]=1;for(int i=2; i<=35; i++) {h[i]=0;for(int j=0; j<i; j++)h[i]=h[i]+h[j]*h[i-j-1];cout<<h[i]<<endl;} }

    2.n<100 的卡特蘭數的實現

    #define BASE 10000 int a[100+5][100]; void multiply(int num,int n,int b) {//大數乘法int temp=0;for(int i=n-1; i>=0; i--) {temp+=b*a[num][i];a[num][i]=temp%BASE;temp/=BASE;} } void divide(int num,int n,int b) {//大數除法int div=0;for(int i=0; i<n; i++) {div=div*BASE+a[num][i];a[num][i]=div/b;div%=b;} } void init(){memset(a,0,sizeof(a));a[1][100-1]=1;for(int i=2; i<=100; i++) {memcpy(a[i],a[i-1],sizeof(a[i-1]));multiply(i,100,4*i-2);divide(i,100,i+1);} } int main() {init();int n;while(scanf("%d",&n)!=EOF){int i;for(i=0;i<100 && a[n][i]==0;i++);printf("%d",a[n][i++]);for(;i<100;i++)printf("%04d",a[n][i]);printf("\n");}return 0; }

    ?【例題】

    • 小兔的棋盤(HDU-2067)(n<=35的卡特蘭數):點擊這里
    • Game of Connections(POJ-2084)(n<100的卡特蘭數):點擊這里
    • 小a的學期(2019牛客寒假算法基礎集訓營 Day1-H)(卡特蘭數列+組合數取模):點擊這里

    總結

    以上是生活随笔為你收集整理的组合数学 —— 卡特兰数列(Catalan)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久与婷婷 | 国产婷婷一区二区三区久久 | 比利时xxxx性hd极品 | 福利视频在线导航 | 性——交——性——乱免费的 | 九九精品视频在线 | 亚洲AV无码片久久精品 | 国产91视频在线观看 | 男人的天堂亚洲 | 亚洲精品久久久久avwww潮水 | 精品久久精品 | 亚洲最新在线 | 久草福利视频 | 成都电影免费大全 | 日韩大尺度在线观看 | 69视频免费看 | 91一区二区国产 | 精品无码成人久久久久久免费 | 国产成a人亚洲精v品在线观看 | 亚洲国产精品区 | 亚洲综合在线五月 | 色老太hd老太色hd | 香港日本韩国三级网站 | 免费色网址 | 三级网站免费观看 | 黄色69视频| 五级黄高潮片90分钟视频 | 国产高清成人 | 日韩高清在线观看一区 | 青青青国产在线 | 亚洲天堂毛片 | 午夜精品一区二区三区免费视频 | 亚洲精品一区二区三区蜜桃久 | 欧洲成人免费视频 | 在线观看911视频 | 香蕉视频黄色片 | 在线视频中文 | 97视频免费在线观看 | 亚洲激情片| 欧美在线观看视频一区 | 欧美日韩二区三区 | 日韩二区在线 | 草草影院一区二区三区 | 色爽爽爽 | 韩国美女黄色片 | av在线播放免费 | 九九视频免费观看 | 成人黄色小视频 | 亚洲天堂免费在线 | 日日干天天射 | 国产精品免费无遮挡无码永久视频 | www狠狠操| 国产在线拍揄自揄拍无码 | 国产精品性爱在线 | 欧美 亚洲 | 一级色视频 | 国产美女www | 黄色大片儿 | 一级片网址 | 久久久免费av | 黄色网址在线播放 | 久草视频网站 | 日韩精品极品视频 | 亚洲一区二区三区免费观看 | 精品一区久久 | 青青青在线视频 | 99久久精品免费视频 | 真人抽搐一进一出视频 | 丝袜美女被c | 国产在线视频网站 | 黄色小视频国产 | 影音先锋亚洲成aⅴ人在 | 国产熟妇一区二区三区四区 | 欧美三级在线观看视频 | 亚洲视频一区二区三区在线观看 | 99热在线只有精品 | 加勒比波多野结衣 | 亚瑟av在线 | 国产网友自拍视频 | 欧美日韩激情在线一区二区三区 | 日日操天天 | 久久国产热| www.国产一区二区三区 | 欧美中文日韩 | 国产激情对白 | 日韩精品在线不卡 | 天天爽天天射 | 久久精品综合 | 夜久久久 | 免费看女生裸体视频 | 欧美美女爱爱视频 | 热re99久久精品国产99热 | 欧美国产一区二区在线观看 | 中文字幕在线播放一区二区 | 久久看av | 久久色播 | 天天操天天干天天干 | 日韩欧美一区二区三区视频 | 在线免费黄色 |