博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
古代猪文
阅读量:4664 次
发布时间:2019-06-09

本文共 1747 字,大约阅读时间需要 5 分钟。

数论模板混合好题

#include
#define re return#define ll long long#define inc(i,l,r) for(int i=l;i<=r;++i)using namespace std;template
inline void rd(T&x){ char c;bool f=0; while((c=getchar())<'0'||c>'9')if(c=='-')f=1; x=c^48; while((c=getchar())>='0'&&c<='9')x=x*10+(c^48); if(f)x=-x;}const int maxn=36000;ll jc[maxn],inv[maxn],jcinv[maxn],N,G;ll C(int n,int m,int mod)//组合数 { if(m>n)re 0; re jc[n]*jcinv[n-m]%mod*jcinv[m]%mod;}ll LUCAS(int n,int m,int mod)//卢卡斯定理 { if(!m)re 1; re C(n%mod,m%mod,mod)*LUCAS(n/mod,m/mod,mod)%mod;}inline void Get_math(int mod){ //得到当前模数下的阶乘,阶乘逆元 jcinv[0]=jcinv[1]=inv[1]=jc[1]=jc[0]=1; inc(i,2,mod) { inv[i]=(mod-mod/i)*inv[mod%i]%mod; jcinv[i]=jcinv[i-1]*inv[i]%mod; jc[i]=jc[i-1]*i%mod; }}inline ll Get_crt(int mod){ ll sum=0; Get_math(mod); inc(i,1,sqrt(N)) if(N%i==0)//寻找整除N的K { sum=(sum+LUCAS(N,i,mod))%mod; if(i*i!=N)//防止重复 sum=(sum+LUCAS(N,N/i,mod))%mod; } re sum;}inline ll pow(ll a,ll x,ll mod){ if(!a)re 0; ll ret=1; while(x) { if(x&1)ret=ret*a%mod; a=a*a%mod; x>>=1; } re ret;}int main(){ freopen("in.txt","r",stdin); ll a1,a2,a3,a4,x,M=999911658; ll inv1,inv2,inv3,inv4; rd(N),rd(G); //得到中国剩余定理的X=(请当做同余)A(mod p)中的A a1=Get_crt(2); a2=Get_crt(3); a3=Get_crt(4679); a4=Get_crt(35617); //剩余定理求解 inv1=pow(M/2,2-1,M)*a1; //Mi*(Mi^(p-2))*ai前面可以合并 //并对M取模得到最小正整数解 inv2=pow(M/3,3-1,M)*a2; inv3=pow(M/4679,4679-1,M)*a3; inv4=pow(M/35617,35617-1,M)*a4; printf("%lld",pow(G%(M+1),(inv1+inv2+inv3+inv4)%M,M+1)); re 0;}

 

转载于:https://www.cnblogs.com/lsyyy/p/11569495.html

你可能感兴趣的文章
多服务器之间Session共享
查看>>
《神经网络和深度学习》系列文章之目录
查看>>
高级知识点
查看>>
HttpCookie Class
查看>>
关于制作银行管理系统的软件工程课题进度情况
查看>>
sde数据操作
查看>>
ftp文件上传下载命令
查看>>
BZOJ 4247 挂饰
查看>>
python 全栈开发,Day129(玩具开机提示语,为多个玩具发送点播,聊天界面,app录音,app与服务器端文件传输,简单的对话)...
查看>>
python中的除法
查看>>
12.12
查看>>
阿里云centos7.4安装并部署svn1.10.0版本(配置多仓库,加入开机自启动)
查看>>
团队任务3:每日立会(2018-10-20)
查看>>
Pyhton学习——Day11
查看>>
shelve模块(* * *)
查看>>
postgresql plpythonu例子
查看>>
百练oj 2815:城堡问题(dfs)
查看>>
文件处理
查看>>
IIS(互联网信息服务)
查看>>
计算机是如何启动的?
查看>>