一、题目:

洛谷模板

二、代码:

#include<iostream>
#include<cstdio>
#include<cstring>#define LL long long
#define mem(s,v) memset(s,v,sizeof(s))
#define FILE(s) freopen(s".in","r",stdin);freopen(s".out","w",stdout)using namespace std;
template<class Type>
inline Type read(Type num){Type x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return f*x;
}const int maxn=100005;int n;
LL ai[maxn],bi[maxn];inline LL mult(LL a,LL b,LL p){LL ret=0;for(;b;b>>=1){if(b&1)ret=(ret+a)%p;a=(a+a)%p;}return ret;
}inline LL exgcd(LL a,LL b,LL &x,LL &y){if(b==0){x=1;y=0;return a;}LL d=exgcd(b,a%b,x,y);LL z=x;x=y;y=z-a/b*y;return d;
}inline LL excrt(void){LL x,y;LL M=bi[1],ans=ai[1];for(register int i=2;i<=n;++i){LL a=M,b=bi[i],c=(ai[i]-ans%b+b)%b;LL gcd=exgcd(a,b,x,y),bg=b/gcd;if(c%gcd!=0)return -1;x=mult(x,c/gcd,bg);ans+=x*M;M*=bg;ans=(ans%M+M)%M;}return (ans%M+M)%M;
}int main(){n=read(n);for(register int i=1;i<=n;++i){bi[i]=read(bi[i]);ai[i]=read(ai[i]);}printf("%lld\n",excrt());return 0;
}

转载于:https://www.cnblogs.com/little-aztl/p/9738718.html

【模板】扩展中国剩余定理(EXCRT)相关推荐

  1. 中国剩余定理(CRT)扩展中国剩余定理(exCRT)

    前言 中国剩余定理(也叫孙子定理)并不是很复杂,由于最近用到了,以前学的时候还不写博客,所以现在补一下 中国剩余定理(CRT) 问题 给出nnn个同余方程 x≡a1(modp1)x≡a2(modp2) ...

  2. [扩展中国剩余定理(EXCRT)]

    前言 与 这个 定理 搏斗了 一天终于 把它kill 了 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 进入正题 题目描述 给定 n 组 非负整数 ai,bi,求解关于 x 的方程组 x ≡ a1 (mo ...

  3. 扩展中国剩余定理 exCRT 学习笔记

    前言 由于 \(\{\mathrm{CRT}\}\subseteq\{\mathrm{exCRT}\}\),而且 CRT 又太抽象了,所以直接学 exCRT 了. 摘自 huyufeifei 博客 这 ...

  4. P4777-[模板]扩展中国剩余定理(EXCRT)

    正题 题目链接:https://www.luogu.org/problem/P4777 题目大意 求方程 {x≡a1(modb1)x≡a2(modb2)...x≡an(modbn)\begin{cas ...

  5. 中国剩余定理(CRT)和扩展中国剩余定理(EXCRT)

    Tip:建议读者不要太着急后翻,按照顺序阅读有助于理解 中国剩余定理(CRT) 问题引出 "有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何?"即,一个整数除以三余 ...

  6. [数论]-----中国剩余定理(扩展中国剩余定理)

    中国剩余定理 中国剩余定理(CRT)用于求形如: { x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) ⋯ ⋯ x ≡ a k ( m o d m k ) \be ...

  7. 中国剩余定理 扩展中国剩余定理 模板

    中国剩余定理解线性同余线性方程 /*long long gcd(LL a,LL b) {return b==0?a:gcd(b,a%b); }*/ #include<bits/stdc++.h& ...

  8. 中国剩余定理 扩展中国剩余定理 (模板)

    中国剩余定理 && 扩展中国剩余定理 一个整数除以三余二,除以五余三,除以七余二,求这个整数. 例题: 一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K.例如,K % ...

  9. 数学--数论--中国剩余定理+扩展中国剩余定理(孙子定理)

    中国剩余定理 问题 求解同余方程组 其中m1,m2,m3...mkm_1,m_2,m_3...m_km1​,m2​,m3​...mk​为两两互质的整数 求x的最小非负整数解 定理 令M=∏i=1kmi ...

  10. 模线性方程(中国剩余定理+扩展中国剩余定理)

    已知一系列除数和模数,求最小的满足条件的数 我们先考虑一般的情况,即模数不互质.(扩展中国剩余定理) 我们考虑两个方程的情况 x%M=R x=k1∗M+Rx=k1 * M+Rx=k1∗M+R x%m= ...

最新文章

  1. boost::threadpool 调用类成员变量并传入参数 的方法
  2. go语言的书籍的淘宝调查
  3. java自带的xml解析,使用Java自带SAX工具解析XML
  4. PowerDesigner从数据库导入
  5. C语言关键字----Const
  6. php 强制刷新,web端实现后退强制刷新功能代码
  7. java配置环境及安装
  8. POJ1741 Tree(点分治)
  9. [转]SQL Server 2005报表服务入门(一)
  10. 交换机 VLAN配置基础及实例
  11. IOMMU 虚拟IO地址和物理地址相关联
  12. 使用iconfont阿里多色矢量图标
  13. opencv 绘制内切圆
  14. git如何下载代码:
  15. glassfish 配置 mysql_GlassFish MySql连接池配置 | 学步园
  16. 【无极低码】低代码平台开发日记,低代码平台之sql编程
  17. 国产处理器兆芯可运行Windows,已试制出Intel i5级处理器
  18. Spring Boot简介,四大核心,特性
  19. 商城系统春节氛围营造
  20. RAD Studio破解补丁合集(2018.12.25)

热门文章

  1. 大学计算机人工智能知识点,人工智能知识点大集锦
  2. linux获取java环境变量的值,linux获取java环境变量的值
  3. 知识图谱学习小组学习大纲
  4. RSA非对称加密算法之公钥和私钥详细介绍
  5. bat删除计算机用户,自动清除电脑垃圾及删除windows默认共享盘符的批处理bat
  6. hibernate mysql自定义变量_hibernate如何得到mysql的变量
  7. equals java的用法_Java ConcurrentLinkedDeque equals()用法及代码示例
  8. dataloader 源码_pytorch :: Dataloader中的迭代器和生成器应用
  9. matlab 提取数列里非零_什么!科研交流免费教Matlab?
  10. 拼数pascal程序