1633:例 3Sumdiv
Posted smartljy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1633:例 3Sumdiv相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h> #define ll long long using namespace std; const ll M=9901; ll a,b,ans=1,cnt; ll p[20],c[20]; inline void divide(int n) for(int i=2;i*i<=n;i++) if(n%i==0) p[++cnt]=i; while(n%i==0) n/=i,c[cnt]++; if(n>1) p[++cnt]=n,c[cnt]=1; //for(int i=1;i<=cnt;i++) cout<<p[cnt]<<‘ ‘<<c[cnt]<<‘ ‘; inline int power(ll x,ll y) ll res=1; while(y) if(y&1) res=res*x%M; x=x*x%M; y>>=1; return res; int main() scanf("%lld%lld",&a,&b); divide(a); for(int i=1;i<=cnt;i++) if((p[i]-1)%M==0) ans=(b*c[i]+1)%M*ans%M; continue; ll xx=power(p[i],b*c[i]+1); xx=(xx-1+M)%M; ll yy=p[i]-1; yy=power(yy,M-2); ans=ans*xx%M*yy%M; printf("%lld\n",ans); return 0;
以上是关于1633:例 3Sumdiv的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ 1633 [Usaco2007 Feb]The Cow Lexicon 牛的词典:dp删字符最少