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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

蛋糕(卡特兰数)

發(fā)布時(shí)間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蛋糕(卡特兰数) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述


輸入格式

一行兩個(gè)整數(shù) n 和 P, 意義如題面所示。

輸出格式

一行一個(gè)整數(shù), 表示有多少種切法。

輸入樣例

【樣例一輸入】
6 1000000007

輸出樣例

【樣例一輸出】
14

題解:

?????? 我們用f[i-2]來(lái)表示將凸i邊形劃分的方案數(shù),那么我們?cè)O(shè)一個(gè)凸n邊形的頂點(diǎn)順時(shí)針順序依次為p1,p2……pn,顯然p1和pn相鄰?,F(xiàn)在我們選點(diǎn)pk,(k不為1和n),那么p1,pn,pk會(huì)把圖形分成兩部分+p1pnpk這個(gè)三角形,特殊的,當(dāng)k=n-1或k=2時(shí),我們把它看成分成了一個(gè)n-1邊形和一個(gè)0邊形。又因?yàn)?邊形無(wú)法劃分,我們暫定f[0]=1(表示0邊形的劃分?jǐn)?shù))。且由常識(shí)可知f[1]=1。

?????? 現(xiàn)在我們就可以得出遞推式:f[i-2]=f[0]*f[i-3]+f[1]*f[i-4]+……+f[i-3]*f[0];由此可觀察出這就是我們所熟悉的卡特蘭數(shù),求n邊形的劃分方案,就是求卡特蘭數(shù)的第n-2項(xiàng)。

?????? 在這里先介紹一下卡特蘭數(shù)的數(shù)學(xué)遞推式:

???? ? h(n)=C(2n,n)/(n+1)??? h(n)=h(n-1)*(4*n-2)/(n+1); ? h(n)=c(2n,n)-c(2n,n-1)

?????? 接下來(lái)就好簡(jiǎn)單啦,不就求第n-2項(xiàng)嗎?

?????? 等等,真的簡(jiǎn)單嗎?對(duì)于本題,n<=10,000,000,而且mod的p還不是質(zhì)數(shù)!!!

?????? 假如我們質(zhì)因數(shù)分解,用最小表示法處理f[n-2],時(shí)間復(fù)雜度高達(dá)O(nlogn),所以我們必須找更優(yōu)的方法。

?????? 我們的最終目的是用最小表示法表示f[n-2],那么我們只需知道每個(gè)質(zhì)數(shù)出現(xiàn)的個(gè)數(shù)就ok了。比如質(zhì)數(shù)2,1-n中出現(xiàn)2的有n/2次,出現(xiàn)2^2的有n/4次,……,所以質(zhì)數(shù)2出現(xiàn)的次數(shù)為

n/2+n/4+……+n/2^m,所以貼代碼(這個(gè)需要自己理解一下):

#include<algorithm> #include<fstream> #include<iostream> #include<cmath> #include<cstdio> #include<cstdlib> #include<cstring> using namespace std;int n,p,tot,pri[10000010],vis[20000020]; long long mi[10000010]; long long ans;void Make_pri() {for (int i=2; i<=2*n; i++){if (vis[i]==0) {tot++; pri[tot] = i;}for (int j=1; j<=tot; j++){long long x = (long long)pri[j]*(long long)i;if (x>2*n) break; vis[x] = 1;if (i%pri[j]==0) break;}} }void Add(int len,int cur) {for (int i=1; i<=tot; i++){long long k = pri[i];while (k<=len){mi[i]+=(long long)cur*(long long)(len/k);k = k*pri[i];}} }void Fast_mi() {for (int i=1; i<=tot; i++){long long a = pri[i],b = mi[i];while (b>0){if (b%2==1) ans = ((long long)ans*(long long)a)%p;b = b/2; a = ((long long)a*(long long)a)%p;}} }int main() {freopen("c.in","r",stdin);freopen("c.out","w",stdout);scanf("%d%d",&n,&p);Make_pri(); n = n-2;Add(2*n,1); Add(n,-1); Add(n+1,-1); ans = 1;Fast_mi();printf("%I64d\n",ans);return 0; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/Janous/p/7571608.html

總結(jié)

以上是生活随笔為你收集整理的蛋糕(卡特兰数)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 红桃视频国产精品 | 黄色小说在线免费观看 | 在线观看的黄色网址 | 亚洲国产成人精品激情在线 | 日日躁夜夜躁狠狠久久av | 8x8ⅹ8成人免费视频观看 | 精品女同一区二区 | 亚洲av无一区二区三区怡春院 | 国产区精品在线 | 午夜av片 | 好看的中文字幕av | 黄色高清在线观看 | 国产91边播边对白在线 | 综合网亚洲 | 男女啪啪网站免费 | 夜夜爽爽 | 亚洲va国产天堂va久久 en | 在线看黄的网站 | 自拍偷拍欧美亚洲 | 中文字幕一区二区三区人妻在线视频 | 小明看国产 | 国产男女啪啪 | 伊人久久伊人 | 国产精品无码久久av | 九九在线观看视频 | 久久人人干 | 一级日韩一级欧美 | 最好看的mv中文字幕国语电影 | 国产视频网站在线观看 | 麻豆视频在线观看 | 短裙公车被强好爽h吃奶视频 | 91粉色视频| 色久视频| 五月导航| 免费动漫av | 中文字幕一区久久 | 无遮挡的裸体按摩的视频 | 日本男人的天堂 | 中文字幕巨乳 | 成人久久av | 在线免费av观看 | 欧美大片91 | 国产一级二级毛片 | 五月天婷婷激情视频 | av国产在线观看 | cekc老妇女cea0 | 中国黄色一级大片 | 男女午夜免费视频 | 久久亚洲电影 | 欧美日韩一区二区三区四区 | 色综合日韩 | 色片免费观看 | 国产黄色片在线播放 | 美女啪啪免费视频 | 特级精品毛片免费观看 | 久久国产精品久久久久 | 婷婷丁香综合 | 国产精品久久久久久久久岛 | 日韩av日韩 | 密桃成熟时在线观看 | 日本a级网站 | 国产三级三级三级 | 在线免费观看一区 | 老司机狠狠爱 | 欧美精品韩国精品 | 成人tv | 综合久久久久久 | 一级做a视频| 日韩一区二区三区四区在线 | 国产精品伦 | 99色精品 | 日韩私人影院 | 好吊色网站 | 69福利区 | 亚av在线 | 熟妇熟女乱妇乱女网站 | 五月婷婷网站 | 久久黄色精品视频 | 国产精品白丝喷水在线观看 | 99热国内精品| 成人h片在线观看 | 少妇又紧又色又爽又刺激视频 | 国产一区二区在线视频观看 | 人妻久久久一区二区三区 | 黄色片网站国产 | 日韩欧美一二区 | 中文字幕在线观看播放 | 亚洲欧美一区二区视频 | 中文资源在线播放 | 性生交大片免费看3p | 乱一色一乱一性一视频 | 九九九久久久精品 | 成人免费视频网站在线观看 | 亚洲天堂无吗 | 亚洲视频天堂 | 免费成人av在线播放 | 国产色站 | 亚洲激情成人 | 超碰97最新 |