中国剩余定理 P1495 【模板】中国剩余定理(CRT)/曹冲养猪
2022/4/7 23:21:14
本文主要是介绍中国剩余定理 P1495 【模板】中国剩余定理(CRT)/曹冲养猪,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N=1e5+5; 5 ll a[N],mod[N],ans,n,mulsum=1; 6 ll read() 7 { 8 ll x=0,f=1;char ch=getchar(); 9 while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} 10 while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();} 11 return x*f; 12 } 13 ll exgcd(ll a, ll b, ll &x, ll &y) 14 { 15 if(!b) 16 { 17 x=1,y=0; 18 return a; 19 } 20 ll d=exgcd(b,a%b,x,y); 21 ll t=x; 22 x=y;y=t-a/b*y; 23 return d; 24 } 25 int main() 26 { 27 ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); 28 n=read(); 29 for(int i=1;i<=n;i++)mod[i]=read(),a[i]=read(),mulsum*=mod[i]; 30 for(int i=1;i<=n;i++) 31 { 32 ll x,y; 33 ll mi=mulsum/mod[i]; 34 exgcd(mi,mod[i],x,y); 35 x=((x%mod[i])+mod[i])%mod[i]; 36 ans=(ans+(x*mi*a[i]))%mulsum; 37 } 38 cout<<ans<<"\n"; 39 return 0; 40 }
这篇关于中国剩余定理 P1495 【模板】中国剩余定理(CRT)/曹冲养猪的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升