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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Luogu P4916 魔力环

發布時間:2025/7/14 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Luogu P4916 魔力环 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接

https://www.luogu.org/problemnew/show/P4916

題解

將項鏈用序列表示,111代表黑色,000代表白色,對于一個合法序列,它必定能表示成ddd個循環節,每個循環節nd\frac{n}ozvdkddzhkzddn?個珠子,其中md\frac{m}ozvdkddzhkzddm?個黑色珠子。假設循環節長度nnn的合法序列方案數為f(n)f(n)f(n)(不考慮旋轉后相同的情況),容易發現答案就是
∑d∣n1df(d) \sum_{d|n}\frac{1}ozvdkddzhkzdf(d) dn?d1?f(d)
定義
g(n)=∑d∣nf(d) g(n)=\sum_{d|n}f(d) g(n)=dn?f(d)
容易發現
f(n)=∑d∣nμ(nd)g(d) f(n)=\sum_{d|n}\mu(\frac{n}ozvdkddzhkzd)g(d) f(n)=dn?μ(dn?)g(d)
考慮如何求g(d)g(d)g(d)。顯然可以對每個循環節分開考慮,對于長度為aaa,有bbb顆黑珠子的循環節,考慮被a?ba-ba?b顆白珠子劃分成的黑珠子每一段的數量,g(a)g(a)g(a)就是下面方程的整數解的方案數
∑i=0a?bxi=b(?i∈[0,a?b],0≤xi≤k,x0+xa?b≤k) \sum_{i=0}^{a-b}x_i=b(\forall i\in [0,a-b],0\leq x_i\leq k,x_0+x_{a-b}\leq k) i=0a?b?xi?=b(?i[0,a?b],0xi?k,x0?+xa?b?k)
容易發現g(a)g(a)g(a)就是下面式子在xbx^bxb項的系數
(∑i=0kxi)a?b?1((∑i=0kxi)2 mod xk+1) (\sum_{i=0}^{k}x^i)^{a-b-1}((\sum_{i=0}^{k}x^i)^2\bmod x^{k+1}) (i=0k?xi)a?b?1((i=0k?xi)2modxk+1)
展開右邊
(∑i=0kxi)a?b?1(∑i=0k(i+1)xi) (\sum_{i=0}^k x^i)^{a-b-1}(\sum_{i=0}^{k}(i+1)x^i) (i=0k?xi)a?b?1(i=0k?(i+1)xi)

(1?xk+11?x)a?b?1(1?(k+2)xk+1+(k+1)xk+2(1?x)2) (\frac{1-x^{k+1}}{1-x})^{a-b-1}(\frac{1-(k+2)x^{k+1}+(k+1)x^{k+2}}{(1-x)^2}) (1?x1?xk+1?)a?b?1((1?x)21?(k+2)xk+1+(k+1)xk+2?)
去括號
(1?xk+1)a?b?1(1?x)?(a?b+1)(1?(k+2)xk+1+(k+1)xk+2) (1-x^{k+1})^{a-b-1}(1-x)^{-(a-b+1)}(1-(k+2)x^{k+1}+(k+1)x^{k+2}) (1?xk+1)a?b?1(1?x)?(a?b+1)(1?(k+2)xk+1+(k+1)xk+2)
利用二項式定理
(∑i=0∞(a?b?1i)(?1)ix(k+1)i)(∑i=0∞(a?b+ii)xi)(1?(k+2)xk+1+(k+1)xk+2) (\sum_{i=0}^{\infin}\binom{a-b-1}{i}(-1)^ix^{(k+1)i})(\sum_{i=0}^{\infin}\binom{a-b+i}{i}x^i)(1-(k+2)x^{k+1}+(k+1)x^{k+2}) (i=0?(ia?b?1?)(?1)ix(k+1)i)(i=0?(ia?b+i?)xi)(1?(k+2)xk+1+(k+1)xk+2)
定義
S(n)=∑(k+1)i+j=n(a?b?1i)(?1)i(a?b+ii) S(n)=\sum_{(k+1)i+j=n}\binom{a-b-1}{i}(-1)^i\binom{a-b+i}{i} S(n)=(k+1)i+j=n?(ia?b?1?)(?1)i(ia?b+i?)
則有
g(a)=S(b)?(k+2)S(b?k?1)+(k+1)S(b?k?2) g(a)=S(b)-(k+2)S(b-k-1)+(k+1)S(b-k-2) g(a)=S(b)?(k+2)S(b?k?1)+(k+1)S(b?k?2)
S(n)S(n)S(n)可以枚舉iii,時間復雜度就是O(σ1(n)k+1)O(\frac{\sigma_1(n)}{k+1})O(k+1σ1?(n)?),由于σ1(n)\sigma_1(n)σ1?(n)不會很大,可以通過此題。

代碼

#include <cstdio>int read() {int x=0,f=1;char ch=getchar();while((ch<'0')||(ch>'9')){if(ch=='-'){f=-f;}ch=getchar();}while((ch>='0')&&(ch<='9')){x=x*10+ch-'0';ch=getchar();}return x*f; }const int maxn=100000; const int mod=998244353;int p[maxn+10],prime[maxn+10],cnt,mu[maxn+10],fac[maxn+10],inv[maxn+10],ifac[maxn+10];int getprime() {p[1]=mu[1]=1;for(int i=2; i<=maxn; ++i){if(!p[i]){prime[++cnt]=i;mu[i]=-1;}for(int j=1; (j<=cnt)&&(i*prime[j]<=maxn); ++j){int x=i*prime[j];p[x]=1;if(i%prime[j]==0){mu[x]=0;break;}mu[x]=-mu[i];}}fac[0]=1;for(int i=1; i<=maxn; ++i){fac[i]=1ll*fac[i-1]*i%mod;}inv[0]=inv[1]=1;for(int i=2; i<=maxn; ++i){inv[i]=1ll*(mod-mod/i)*inv[mod%i]%mod;}ifac[0]=1;for(int i=1; i<=maxn; ++i){ifac[i]=1ll*ifac[i-1]*inv[i]%mod;}return 0; }inline int C(int a,int b) {if((a<b)||(b<0)||(a<0)){return 0;}return 1ll*fac[a]*ifac[b]%mod*ifac[a-b]%mod; }inline int getsum(int a,int b,int k,int mx) {int ans=0;for(int i=0; mx-(k+1)*i>=0; ++i){int j=mx-(k+1)*i;ans=(ans+((i&1)?(-1ll):(1ll))*C(a-b-1,i)*C(a-b+j,j))%mod;if(ans<0){ans+=mod;}}return ans; }inline int count(int a,int b,int k) {int ans=(getsum(a,b,k,b)-1ll*(k+2)*getsum(a,b,k,b-k-1)+1ll*(k+1)*getsum(a,b,k,b-k-2))%mod;if(ans<0){ans+=mod;}return ans; }int n,m,k,f[maxn+10],g[maxn+10];int getG(int d) {g[n/d]=count(n/d,m/d,k);return 0; }int main() {getprime();n=read();m=read();k=read();if(m==0){puts("1");return 0;}for(int i=1; i*i<=m; ++i){if(m%i==0){if(n%i==0){getG(i);}int j=m/i;if((i*i!=m)&&(n%j==0)){getG(j);}}}for(int i=1; i<=n; ++i){for(int j=i; j<=n; j+=i){f[j]+=mu[j/i]*g[i];if(f[j]>=mod){f[j]-=mod;}if(f[j]<0){f[j]+=mod;}}}int ans=0;for(int i=1; i<=n; ++i){if(n%i==0){ans=(ans+1ll*inv[i]*f[i])%mod;}}printf("%d\n",ans);return 0; }

轉載于:https://www.cnblogs.com/Canopus-wym/p/10376057.html

總結

以上是生活随笔為你收集整理的Luogu P4916 魔力环的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美成人视 | 日本黄色性视频 | 性欧美hd调教 | 在线美女av| 激情青青草 | 成人黄色小说在线观看 | 狠狠干很很操 | 91香蕉视频在线观看免费 | 91亚洲精品久久久蜜桃 | 3344成人 | 免费一二区 | 韩国裸体网站 | 国产精品乱码 | 日本japanese乳偷乱熟 | 亚洲黄色在线播放 | 欧美另类xxxx野战 | 久久久久久av无码免费网站 | 国产在线欧美 | 黄色免费大片 | 精品熟女一区 | 青青草小视频 | 超碰pron| 狂野欧美性猛交xxⅹ李丽珍 | 丝袜国产在线 | 久久久久久国产精品三区 | 一级成人毛片 | 欧色av| 一区二区国产欧美 | 激情综合网五月 | 亚洲欧美日本韩国 | 成年人黄色网址 | 2021av| av爱爱爱 | 超碰天天操 | 内射后入在线观看一区 | 久久不射网站 | 欧美性生活一区 | 亚洲视频在线一区二区 | 东北女人啪啪ⅹxx对白 | 芭乐视频色 | 国产精品无码无卡无需播放器 | 日本黄网站色大片免费观看 | 亚洲国产日韩在线观看 | 人妻精品久久久久中文 | 久久久99精品免费观看 | 奇米影视在线观看 | 亚洲欧美另类日本 | 国产成人精品视频 | 日本少妇做爰全过程毛片 | 国产午夜精品一区二区三区视频 | 美国免费黄色片 | 国产一区欧美二区 | 国产美女自拍视频 | 国产丝袜高跟 | 91视频在| 国产美女在线精品 | 精品国产免费看 | 日本天堂影院 | 一乃葵在线 | 精品久久久一区二区 | 一区二区伊人 | 国产精品久久久久无码av色戒 | 中国丰满老太hd | 成人黄色一级片 | 人与拘一级a毛片 | 娇妻之欲海泛舟无弹窗笔趣阁 | 成人h动漫在线 | av免费观看入口 | 色av导航| 激情五月综合色婷婷一区二区 | 播放一级黄色片 | 日本 片 成人 在线 九色麻豆 | 久久久久久久麻豆 | 免费在线观看高清影视网站 | 在线免费观看欧美大片 | 麻豆视频国产 | 成人黄色三级视频 | 亚洲色图日韩精品 | 日本一本久久 | 欧美精品国产 | 欧美成人精品激情在线观看 | 日韩精品一区二区三区网站 | 色.com | 毛片9 | 欧美日韩在线观看一区二区三区 | 福利一区三区 | 北条麻妃在线一区 | 欧美自拍偷拍 | 视频福利在线观看 | 亚洲天堂久 | 久热青草| 亚洲精品一区二区三区四区五区 | 国产欧美一区二区三区在线老狼 | 亚洲成人黄色网址 | 美国黄色一级毛片 | 中文久草| 午夜免费在线观看 | 超碰97在线免费观看 | 国产精品国语对白 |