模板题  链接51nod1079

这道题是中国剩余定理的模板题,但是这道题范围不大,还可以暴力求解,只是复杂度高些。

下面说下孙子定理(中国剩余定理)

定理详述参见百度百科

求法

要求出的是----x     m数组中 存的是x与其取余的数    p数组中存的是x于m[i]取余得到的余数

我们先求出 M------就是m数组种连续乘起来

再求出 f 数组------就是M / m[ i ]    (f [ i ] 也就是除了m[ i ]以外的m数组乘起来)

再求出 t 数组------t [ i ] 是 f [ i ]在模m[ i ]意义下的逆元(乘法逆元的求法)

再将t[ i ] * p[ i ] * f[ i ]  从1-n累加起来(在模M的情况下

参见代码和注释

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
const int maxn=1e4+7;
const int INF=0x3f3f3f3f;
typedef long long ll;
ll p[maxn],m[maxn],f[maxn],t[maxn];
ll n,k,M;
ll pow_mod(ll x,ll n,ll mod){ll res=1;while(n){if(n&1)res=(x*res)%mod;x=(x*x)%mod;n>>=1;}return (res+mod)%mod;
}
int main(){scanf("%lld",&n);M=1;for(int i=1;i<=n;i++){scanf("%lld%lld",&m[i],&p[i]);M*=m[i];//连乘求出M}for(int i=1;i<=n;i++){f[i]=M/m[i];//求出f数组t[i]=pow_mod(f[i],m[i]-2,m[i]);//费马小定理求乘法逆元}for(int i=1;i<=n;i++){k=(k+p[i]*t[i]*f[i])%M;//注意 累加是在模M的情况下累加}printf("%lld\n",k);return 0;
}

中国剩余定理----51nod1079相关推荐

  1. 中国剩余定理(孙子定理)的证明和c++求解

    <孙子算经>里面的"物不知数"说的是这样的一个题目:一堆东西不知道具体数目,3个一数剩2个,5个一数剩3个,7个一数剩2个,问一共有多少个. 书里面给了计算过程及答案: ...

  2. 解题报告(十三)中国剩余定理(ACM / OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  3. 中国剩余定理(Chinese Remainder Theorem)

    中国剩余定理 民间传说着一则故事--"韩信点兵". 秦朝末年,楚汉相争.一次,韩信将1500名将士与楚王大将李锋交战.苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是韩信整顿 ...

  4. 【中国剩余定理】POJ 1006 HDU 1370 Biorhythms

    题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意: (X+d)%23=a ...

  5. 中国剩余定理matlab非互质,中国剩余定理模板(互质版和非互质版)

    互质版: #include #include #include using namespace std; typedef __int64 int64; int64 a[15],b[15]; int64 ...

  6. POJ2891 Strange Way to Express Integers【扩展中国剩余定理】

    题目大意 就是模板...没啥好说的 思路 因为模数不互质,所以直接中国剩余定理肯定是不对的 然后就考虑怎么合并两个同余方程 \(ans = a_1 + x_1 * m_1 = a_2 + x_2 * ...

  7. 韩信点兵-中国剩余定理(练习)

    http://acm.nyist.net/JudgeOnline/problem.php?pid=34提交地址 韩信点兵-中国剩余定理. 题目能够用枚举非常easy的做出来,在这里写是为了运用一下刚刚 ...

  8. hdu 3579(中国剩余定理非互质)

    解题思路:这道题目因为不一定是互质的,所以直接套用中国剩余定理肯定是错的,,这里采用的是非互质的方法...之前的博客上面有详细的证明过程和算法,这里就不罗嗦了..但是这道题目在输出的时候有特定的要求, ...

  9. hdu 1573(中国剩余定理非互质情况)

    解题思路:这道题目有可能a[i],两两不互质,所以直接用中国剩余定理肯定是不对的..这里考虑非互质的情况 问题描述:给出bi,ni的值,且n1, n2, n3,-, ni两两之间不一定互质,求Res的 ...

  10. poj 1006(中国剩余定理)

    中国剩余定理: <孙子算经>中有"物不知数"问题:"今有物不知其数,三三数之余二 ,五五数之余三 ,七七数之余二,问物几何?"答为"23& ...

最新文章

  1. 揭富人与穷人21个不同思维 看富豪如何脱颖而出
  2. 将word文档按分页另存为多个word文件的VBA代码
  3. datanode无法启动问题
  4. Unity3D - UGUI的手动搭建
  5. 使用form上传文件到application server的另一种办法
  6. rx.observable_在Spring MVC流中使用rx-java Observable
  7. Java 大小写转换
  8. js中eval 详解
  9. 国内四家物联网实时操作系统浅析
  10. linux中进程unit是什么意思,Linux系统之进程及服务的控制
  11. mysql引擎互转问题
  12. 一个设置提升Microsoft Store下载速度
  13. ubuntu安装阿里源
  14. 抖音短视频吃鸡戏精野生脆脆如何上的热门
  15. 从吴军的书《格局》总结出的37条为人方法论
  16. 二相混合式步进电机开环细分控制simulink仿真模型
  17. 第一章 C语言编程(Ivor Horton)
  18. 超轻量级通用人脸检测模型
  19. 工业工厂三维可视化设备3D建模展示
  20. 分类-动态渲染左侧的一级分类列表

热门文章

  1. 微软开始受到越来越多尊重 谁是幕后功臣?
  2. AJAX初始化combox 并取值
  3. 老翟书摘:《丰田生产方式》
  4. 免费下载pro puppet 2高清pdf,需要的抓紧
  5. 当调用wcf, 小心返回值包含enum越界的错误。
  6. mysql exist和in的区别
  7. zookeeper做分布式配置中心
  8. 易改衣完成 5000 万 A 轮融资,唯品会战略投资
  9. 学生机房虚拟化之磁盘操作
  10. 博客园添加背景音乐,给你的博文加点料