标签:for targe type opened isp == 技术分享 ++ code
这个东西好像在搞矩乘的时候用过?忘了
#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; typedef long long LL; const int mod=9901; int len;LL zy[110],cs[110]; void get_zy(LL n) { len=0; for(LL i=2;i*i<=n;i++) { if(n%i==0) { len++; zy[len]=i;cs[len]=0; while(n%i==0)n/=i,cs[len]++; } } if(n>1) len++, zy[len]=n, cs[len]=1; } //--------------------------------- LL quick_power(LL n,int p) { LL A=n%mod,ret=1; while(p>0) { if(p%2==1)ret=(ret*A)%mod; A=(A*A)%mod;p/=2; } return ret; } LL fenzi(LL n,int p) { if(p==0)return 1; if(p%2==0) { return (( fenzi(n,p/2-1)*(1+quick_power(n,p/2)) )%mod+quick_power(n,p))%mod; } else { return ( fenzi(n,p/2)*(1+quick_power(n,p/2+1)) )%mod; } } int main() { LL n;int p; while(scanf("%lld%d",&n,&p)!=EOF) { get_zy(n); LL ans=1; for(int i=1;i<=len;i++) { ans=(ans*fenzi(zy[i],cs[i]*p))%mod; } printf("%lld\n",ans); } return 0; }
3889那题太无聊了,题意还贼难理解,YY了下做法,就是很裸分治找在那个位置,维护横纵区间
手工栈太麻烦了,看这题吧bzoj2819Nim 但是好像机友们只传1个参数的搜索也可以
总的来讲没什么意思。
标签:for targe type opened isp == 技术分享 ++ code
原文地址:https://www.cnblogs.com/AKCqhzdy/p/9063644.html