51Nod1079中国剩余定理
来源:互联网 发布:淘宝店铺联盟开通条件 编辑:程序博客网 时间:2024/06/05 13:37
数论总是烧脑的,但模板题总是能切的
学这个的时候先得弄懂欧几里得求gcd的算法,那个递归的挺好理解的(不过推荐改成非递归的,虽然这道题并不要用)
然后就学扩展欧几里得算法,想明白了就好,依然是求gcd,只是会记录一下过程(x,y),这篇博客很不错(推荐) http://blog.csdn.net/zhjchengfeng5/article/details/7786595
然后再学中国剩余定理,前前后后花了几个小时,果然智商是硬伤
代码
#include<iostream>using namespace std;#define ll long longll m[13],p[13];int N;int e_gcd(ll a,ll b,ll &x,ll &y){ if(!b) { x=1;y=0; return a; } int ans=e_gcd(b,a%b,x,y); int temp=x; x=y; y=temp-(a/b)*y; return ans;}ll f(){ ll M=1,y,x=0; for(int i=0;i<N;i++) M*=p[i]; for(int i=0;i<N;i++) { ll w=M/p[i]; ll tx=0; int t=e_gcd(p[i],w,tx,y); x=(x+y*w*(m[i]/t))%M; } return (x+M)%M;}int main(){ while(cin>>N) { for(int i=0;i<N;i++) cin>>p[i]>>m[i]; cout<<f()<<endl; } return 0;}
阅读全文
0 0
- 51nod1079 中国剩余定理
- 51Nod1079--中国剩余定理
- 51Nod1079中国剩余定理
- 51nod1079 中国剩余定理
- 51nod1079---中国剩余定理(51nod基础:数论)
- 51nod 中国剩余定理
- 51nod--中国剩余定理
- 51 nod 中国剩余定理
- 中国剩余定理模版【中国剩余定理】
- 51nod 1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51nod--1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51nod:1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51nodoj 1079 (中国剩余定理)
- 51nod 1079 中国剩余定理
- 51nod-1079中国剩余定理
- python代码`if not x:` 和`if x is not None:`和`if not x is None:`使用
- 移动游戏的互动新颖性
- mysql常用函数汇总
- ZOJ 3446 Doraemon's Battle (三维dp+BFS)【打怪类模板】
- 欧拉函数
- 51Nod1079中国剩余定理
- hadoop: name node is in safe mode 解决办法
- [POJ] 3311 Hie with the Pie [spfa + 状压]
- 开机自启应用
- hive的问题
- MyBatis的Mapper接口以及Example的实例函数及详解
- Qt布局管理基本实例
- apache rewrite
- 安卓播放音频的方式方法