题目链接:lightoj1319

—————————————-

概述

题目的大意如下。

对于一个数L,已知:

L≡r1(mod p1)

L\equiv r_1(mod\ p_1)

L≡r2(mod p2)

L\equiv r_2(mod\ p_2)

……

……

L≡rn(mod pn)

L\equiv r_n(mod\ p_n)
其中 pip_i均为质数且各不相同。现让你求最小的L,满足上述条件。

—————————————-

题解

一道裸的中国剩余定理题目。(如果你不会中国剩余定理,请戳这里)

我们考虑构造答案。

令P=∏ni=1piP=\prod_{i=1}^n p_i, Ni=PpiN_i={P \over p_i}, N−1iN_i^{-1}为NiN_i在关于模pip_i意义下的逆元。那么对于每一个pip_i可以构造出一个Ai=Ni×N−1i×siA_i=N_i\times N_i^{-1}\times s_i, 则最终答案L=∑ni=1Ai(mod P)L=\sum_{i=1}^n A_i(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\mathscr ——wrote\ by\ miraclejzd

[lightoj1319] 中国剩余定理相关推荐

  1. 数论 —— 线性同余方程组与中国剩余定理

    [线性同余方程组] 由若干个线性同余方程构成的线性方程组. 例如: 其解法最早由我国<孙子算经>给出,因此解法称为"孙子定理",又叫"中国剩余定理" ...

  2. CF338D GCD Table(拓展中国剩余定理,细节处理,2900分)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 CF338D GCD Table(拓展中国剩余定理,细节处理,2900分) Problem 有一张 n ...

  3. 初等数论--同余方程--同余方程组:中国剩余定理

    初等数论--同余方程--同余方程组:中国剩余定理 博主是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理.算法,加深记忆也方便日后查找:如果有错,欢迎指正. 我整理成一个系列:初等数论 ...

  4. 数论一之定理证明——裴蜀/威尔逊/费马/扩展欧几里得/[扩展]欧拉/[扩展]中国剩余定理,欧拉函数,逆元,剩余系,筛法

    打死没想到会在H老师处学懂数论 同余,整除 模运算 埃式筛法 欧拉筛法 最大公约数和最小公倍数 辗转相除法 更相减损术 裴蜀定理 威尔逊定理 费马定理 同余等价类.剩余系.缩系 欧拉函数 欧拉定理 扩 ...

  5. 信奥中的数学:孙子定理 中国剩余定理

    孙子定理 中国剩余定理 孙子定理 中国剩余定理_Dreamer Thinker Doer-CSDN博客 中国剩余问题(简介+详解) 中国剩余问题(简介+详解)_dreamzuora的博客-CSDN博客 ...

  6. 通常情况下的中国剩余定理

    这几天学了学中国剩余定理....本来计划是一天学互质版一天学非互质版的,结果非互质版就学了好长时间...不过好在会证明了,考场上大力推一波应该是没问题的吧... 中国剩余定理是求形如x≡a1(mod ...

  7. poj 1006 java_POJ 1006 Java:中国剩余定理

    题目描述: 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰,人会思维敏 ...

  8. 从孙子算经到中国剩余定理

    中国剩余定理中间涉及一个重要观念:互质: 首先来看<孙子算经>卷下第二十六问:今有物,不知其数.三.三数之,剩二:五.五数之,剩三:七.七数之,剩二.问物几何? 转换为数学语言即是(理解其 ...

  9. 密码学基础算法(二)中国剩余定理

    随便谷歌了一个图片做首图 原图地址: http://www.siwapu.com/etagid41968b0/ 密码学基础系列: (一) 基于整数的欧几里得算法和扩展欧几里得算法 (二) 中国剩余定理 ...

最新文章

  1. 云视频会议的“多、快、好、省”(下)
  2. [LeetCode 题解]: Rotate List
  3. 前端导出文件,后端返回文件流过大直接干崩溃
  4. 各类 HTTP 返回状态代码详解
  5. Visual Studio 2008 Service Pack 1 - BETA发布
  6. 80sec被黑原因分析
  7. Vulkan Loader 何时加载 ICD 驱动文件
  8. Android手机投屏利器scrcpy
  9. charles限制网速
  10. json文件是什么?
  11. [jzoj 4246] 【五校联考6day2】san {spfa+dfs/spfa+拓扑排序+dp}
  12. ESD门禁管理系统方案
  13. 使用opencv python进行手检测和手指计数
  14. 打造在线简历生成器,让面试官眼前一亮……
  15. java.sql.SQLException: HOUR_OF_DAY: 2 -> 3
  16. 云队友丨任正非:没有退路,就是胜利之路
  17. 百余大佬署名AI论文被爆抄袭!智源现已致歉
  18. .net 导入Excel2007
  19. 事无巨细,时钟芯片DS1302
  20. 图文档管理软件 简单规范图纸管理方法

热门文章

  1. 用for循环解三元一次方程组题目的思路
  2. Maya DevKit
  3. 微观经济学知识点(四)
  4. cad化工设备绘图_化工设备CAD图
  5. 中科蓝汛蓝牙耳机AB5356A/AB5376A进入CBT模式
  6. [转载]chrome中非https无法打开摄像头
  7. 将数字日期转换成汉字大写日期
  8. 中国联通自建内部商城 颠覆企业采购老传统
  9. CSP-JS信息学奥赛注意事项
  10. 【原创】nbsp;程序员===索马里海盗