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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

bzoj4330:JSOI2012 爱之项链

發(fā)布時(shí)間:2025/3/15 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj4330:JSOI2012 爱之项链 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目大意:一串項(xiàng)鏈由n個(gè)戒指組成,對于每個(gè)戒指,一共有M個(gè)點(diǎn),R種顏色,且旋轉(zhuǎn)后相同的戒指是相同的,然后一串項(xiàng)鏈又由N個(gè)戒指組成,同時(shí)要滿足相鄰的兩個(gè)戒指不能相同,這串項(xiàng)鏈上某個(gè)位置插入了一個(gè)特殊的東西,且如果特殊的東西插入的地方不同,即使戒指都是相同的,這兩串項(xiàng)鏈也是不同的,求一共有多少不同的愛之項(xiàng)鏈。

思路:首先可以求出一共有多少種不同的戒指,又由于有那個(gè)特殊的東西,相當(dāng)于這串項(xiàng)鏈即使旋轉(zhuǎn)后相同,但特殊的東西插入的位置也肯定是不同的,因此即不考慮旋轉(zhuǎn),只考慮相鄰位置不同的愛之項(xiàng)鏈的方案數(shù)。

令ans表示有多少種不同的戒指。

然后這樣就可以運(yùn)用容斥原理。對于第i個(gè)戒指和第i+1個(gè)戒指相同,可以看成第i個(gè)限制,然后第n個(gè)限制即第n個(gè)戒指和第1個(gè)限制不同,那么即要求滿足所有限制的方案數(shù)。令Si為滿足第i個(gè)限制的方案數(shù)的集合,那么即求S1~Sn的交,也就是其補(bǔ)集的并,那么就是總方案數(shù)減去所有不滿足任意一個(gè)限制數(shù)加上所有不滿足任意二個(gè)限制數(shù)......

然后這個(gè)式子是怎樣的呢,首先總方案數(shù)顯然就是ans^n,然后不滿足任意一個(gè)限制數(shù)即有兩個(gè)相鄰的相同,可以看成一條邊連接的兩個(gè)點(diǎn)相同,就是C(n,1)*ans^(n-1),以此類推,然后可以得到:sigma(0<=i<=n,(-1)^i*C(n,i)*ans^(n-i)),然后發(fā)現(xiàn)這就是二項(xiàng)式定理,就可以得到(ans-1)^n, 但真的就是這樣嗎?當(dāng)i=n時(shí),就會有一個(gè)Bug,用公式算得的答案是(-1)^n,然而n個(gè)限制均不滿足時(shí)的情況即所有顏色都一樣,有ans種,因此還要加上(n&1?1-m:m-1)才行。

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 #define p 3214567 8 #define maxn 200020 9 10 int m,r,tot; 11 int prime[maxn],phi[maxn]; 12 bool isprime[maxn]; 13 long long n; 14 15 int power(int a,long long k){ 16 if (k==0) return 1; 17 if (k==1) return a%p; 18 int x=power(a,k/2),ans=1ll*x*x%p; 19 if (k&1) ans=1ll*a*ans%p; 20 return ans; 21 } 22 23 int fphi(int x){ 24 int ans=x; 25 for (int i=2;i*i<=x;i++) 26 if (x%i==0){ 27 ans=ans-ans/i; 28 while (x%i==0) x/=i; 29 } 30 if (x!=1) ans=ans-ans/x; 31 return ans; 32 } 33 34 int main(){ 35 scanf("%lld%d%d",&n,&m,&r);tot=0,memset(isprime,1,sizeof(isprime)),phi[1]=1; 36 for (int i=2;i<maxn;i++){ 37 if (isprime[i]) prime[++tot]=i,phi[i]=i-1; 38 for (int j=1;j<=tot && i*prime[j]<maxn;j++){ 39 isprime[i*prime[j]]=0; 40 if (i%prime[j]==0){ 41 phi[i*prime[j]]=phi[i]*prime[j]; 42 break; 43 } 44 phi[i*prime[j]]=phi[i]*(prime[j]-1); 45 } 46 } 47 int ans=0; 48 for (int i=1;i*i<=m;i++) 49 if (m%i==0){ 50 ans=(ans+1ll*power(r,i)*fphi(m/i)%p)%p; 51 if (i*i!=m) ans=(ans+1ll*power(r,m/i)*phi[i]%p)%p; 52 } 53 ans=1LL*ans*power(m,p-2)%p; 54 int t=(1ll*power(ans-1,n)+(n&1?1-ans:ans-1))%p; 55 printf("%d\n",(t+p)%p); 56 return 0; 57 } View Code

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

總結(jié)

以上是生活随笔為你收集整理的bzoj4330:JSOI2012 爱之项链的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产精品主播视频 | 日本美女视频一区 | 美日韩精品视频 | 超碰免费公开 | 极品少妇xxxx精品少妇偷拍 | 天堂av片 | 亚洲另类一区二区 | 欧美日韩在线视频 | 高跟91娇喘 | 精品福利在线 | 亚洲午夜在线视频 | 欧美一区二区三区成人精品 | 少妇荡乳情欲办公室456视频 | 国产网红主播精品av | 日韩av女优在线观看 | 欧美性一区二区三区 | 激情五月在线观看 | 在线观看va| 毛片链接 | 国产精品久久综合视频 | 人人爽人人爽人人片 | 国产又黄又爽又色 | 96精品国产 | 中文在线资源 | 六月天综合网 | kk视频在线观看 | 久青草国产在线 | 91精品国产精品 | 国产美女视频一区 | 国产乱码一区二区三区在线观看 | 色爱成人综合 | 亚洲欧洲无码一区二区三区 | 久久久久爱 | 久久刺激| 这里只有精品在线播放 | 兔费看少妇性l交大片免费 日韩高清不卡 | 婷婷丁香社区 | 亚洲图片欧美日韩 | 激情婷婷网 | 成人福利在线看 | 欧美激情 国产精品 | 亚洲综合色小说 | 丝袜 亚洲 另类 欧美 重口 | 人人妻人人爽一区二区三区 | 9l视频自拍蝌蚪9l视频成人 | 亚洲欧美久久 | 亚洲色图 一区二区 | 新版红楼梦在线高清免费观看 | 久久久综合 | 91av视频| 国产一区在线播放 | 成人一区二区在线观看 | 精品中文字幕在线 | 激情六月天 | 国产资源在线免费观看 | 亚洲成色www久久网站 | 小视频国产 | 欧美中文字幕一区二区三区 | 久操亚洲 | 884aa四虎影成人精品一区 | 伊人91 | 男生插女生的视频 | 精品视频在线一区二区 | 国产精品suv一区二区88 | 手机在线一区二区 | 看一级黄色片 | 国产电影一区二区三区爱妃记 | 免费在线成人 | 日本在线精品视频 | 日韩精品一区二区三区国语自制 | 日韩av片在线播放 | 国产网站免费在线观看 | 射射色 | 网址在线观看你懂的 | gay男互凵gay男同偷精 | 亚洲 美腿 欧美 偷拍 | 66av欧美| 中文字幕在线2018 | 国产国语亲子伦亲子 | 国内激情自拍 | 久久亚洲AV成人无码一二三 | 亚洲精品一区二区18漫画 | 91一区视频 | www.xxx日韩 | 亚洲一区毛片 | 午夜免费毛片 | 91口爆一区二区三区在线 | 色噜av | 91视频免费 | 日韩专区欧美专区 | 精品国产乱码久久久久久久 | 日韩久久免费视频 | 国产三级日本三级在线播放 | 亚洲国产欧美在线人成 | 中文字幕在线观看免费高清 | 88xx成人永久免费观看 | 97精品国产97久久久久久春色 | 91精品婷婷国产综合久久蝌蚪 | 欧美三级大片 |