[lightoj1319] 中国剩余定理
2017-08-22 20:45
507 查看
题目链接:lightoj1319
—————————————-
对于一个数L,已知:
L≡r1(mod p1)L≡r2(mod p2)……L≡rn(mod pn)
其中pi均为质数且各不相同。现让你求最小的L,满足上述条件。
—————————————-
我们考虑构造答案。
令P=∏ni=1pi, Ni=Ppi, N−1i为Ni在关于模pi意义下的逆元。那么对于每一个pi可以构造出一个Ai=Ni×N−1i×si, 则最终答案L=∑ni=1Ai(mod P)。
—————————————-
—————————————-
—————————————-
——wrote by miraclejzd
—————————————-
概述
题目的大意如下。对于一个数L,已知:
L≡r1(mod p1)L≡r2(mod p2)……L≡rn(mod pn)
其中pi均为质数且各不相同。现让你求最小的L,满足上述条件。
—————————————-
题解
一道裸的中国剩余定理题目。(如果你不会中国剩余定理,请戳这里)我们考虑构造答案。
令P=∏ni=1pi, Ni=Ppi, N−1i为Ni在关于模pi意义下的逆元。那么对于每一个pi可以构造出一个Ai=Ni×N−1i×si, 则最终答案L=∑ni=1Ai(mod P)。
—————————————-
代码
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> #define ll long long #define For(i,j,k) for(register ll i=j; i<=(ll)k; ++i) #define Forr(i,j,k) for(register ll i=j; i>=(ll)k; --i) #define INF 0x3f3f3f3f using namespace std; const ll maxn = 12+5; ll T, n, P, Ans; ll p[maxn], r[maxn], N[maxn], inv[maxn], A[maxn]; inline ll ksm(ll x, ll y, ll mo){ ll back = 1; x %= mo; while(y){ if(y & 1) back = back*x%mo; x = x*x%mo; y >>= 1; } return back; } int main(){ scanf("%lld", &T); For(time, 1, T){ P = 1, Ans = 0; scanf("%lld", &n); For(i, 1, n){ scanf("%lld%lld", &p[i], &r[i]); P *= p[i];//计算P } ll temp; For(i, 1, n){ N[i] = P/p[i];//A[i]一定包含P/p[i]这个因子 inv[i] = ksm(N[i], p[i]-2, p[i]);//计算P/p[i]关于p[i]的逆元 A[i] = ((N[i]*inv[i])%P * r[i])%P;//计算最终的A[i].(模P意义下) } For(i, 1, n) Ans = (Ans+A[i])%P;//A[i]求和,构造出结果 printf("Case %lld: %lld\n", time, Ans); } return 0; }
—————————————-
总结
这题比较基础,是道中国剩余定理的入门好题,估计最大难点在于读题吧,哈哈哈。—————————————-
——wrote by miraclejzd
相关文章推荐
- LightOJ - 1319 (中国剩余定理,满足模数满足互质关系)
- LightOJ - 1319 Monkey Tradition (中国剩余定理 模板)
- lightoj 1319 - Monkey Tradition 中国剩余定理(孙子定理)+poj 2891 Strange Way to Express Integers
- Light OJ - 1319 -中国剩余定理
- 中国剩余定理 poj 1006 poj2891
- 中国剩余定理与线性同余方程组
- POJ1006-中国剩余定理
- POJ Biorhythms 中国剩余定理概念理解入门
- POJ2891 Strange Way to Express Integers(解多元线性同余方程)(中国剩余定理非互质版)(例题)
- 中国剩余定理 模板
- poj 1006 中国剩余定理模板
- 中国剩余定理在信息领域的应用
- 【GDOI 2011 DAY2 T3】零什么的最讨厌了 (快速求阶乘、中国剩余定理)
- 伟大的中国剩余定理
- 扩展欧几里德算法 线性同余方程 中国剩余定理
- 51nod1079 中国剩余定理
- 中国剩余定理
- 数论复习之中国剩余定理
- 中国剩余定理解线性同余方程
- HDU 中国剩余定理