扩展中国剩余定理(扩展CRT)详解
今天在$xsy$上翻题翻到了一道扩展CRT的题,就顺便重温了下(扩展CRT模板也在里面)
中国剩余定理是用于求一个最小的$x$,满足$x\equiv c_i \pmod{m_i}$。
正常的$CRT$有一个微小的要求,就是$\forall i,j (m_i,m_j)=1$。
在某些情况下,这个式子无法被满足,这个时候就要用扩展$CRT$来求解了。
我们先假设我们只有两条方程要被求解,它们分别是:
$\begin{cases} x\equiv c_1 \pmod{m_1}\\x\equiv c_2 \pmod{m_2}\end{cases}$
我们考虑将同余去掉,就变成了:
$\begin{cases} x= c_1+m_1k_1\\x= c_2+m_2k_2\end{cases}$
联立一波,得:
$c_1+m_1k_1=c_2+m_2k_2$
$m_1k_1=(c_2-c_1)+m_2k_2$
若该方程存在解,则有$(m1,m2)|(c_2-c_1)$,否则无解
下面令$d=(m1,m2)$。
我们对等式两边全部除以$d$,得:
$\dfrac{m_1}{d}k_1=\dfrac{c_2-c_1}{d}+\dfrac{m_2}{d}k_2$
经过简单变式,得:
$\dfrac{m_1}{d}k_1\equiv \dfrac{c_2-c_1}{d} \pmod{\dfrac{m_2}{d}}$
没错,我们成功消掉了$k_2$
我们将$\dfrac{m_1}{d}$移项到等式右侧,得:
$k_1 \equiv inv(\dfrac{m1}{d},\dfrac{m_2}{d})\times \dfrac{c_2-c_1}{d} \pmod{\dfrac{m_2}{d}}$
其中$inv(x,y)$表示模$y意$义下$x$的乘法逆元
重新将该式子变回等式,得:
$k_1 = inv(\dfrac{m1}{d},\dfrac{m_2}{d})\times \dfrac{c_2-c_1}{d} + y\dfrac{m_2}{d}$
该式子已经化简到尽了,考虑重新代入回最初的式子。
将$k_1$代入$x=c_1+m_1k$中,得:
$x\equiv inv(\dfrac{m1}{d},\dfrac{m_2}{d})\times \dfrac{c_2-c_1}{d}\times m1 +c_1 \pmod{\dfrac{m_1m_2}{d}}$
至此,求两条式子的扩展$CRT$已经讲完了
如果方程有多条怎么办:我们做$n-1$次的两条式子的$CRT$合并就可以了。
扩展中国剩余定理(扩展CRT)详解的更多相关文章
- 中国剩余定理(CRT) & 扩展中国剩余定理(ExCRT)总结
中国剩余定理(CRT) & 扩展中国剩余定理(ExCRT)总结 标签:数学方法--数论 阅读体验:https://zybuluo.com/Junlier/note/1300035 前置浅讲 前 ...
- 中国剩余定理(crt)和扩展中国剩余定理(excrt)
数论守门员二号 =.= 中国剩余定理: 1.一次同余方程组: 一次同余方程组是指形如x≡ai(mod mi) (i=1,2,…,k)的同余方程构成的组 中国剩余定理的主要用途是解一次同余方程组,其中m ...
- 欧几里得(辗转相除gcd)、扩欧(exgcd)、中国剩余定理(crt)、扩展中国剩余定理(excrt)简要介绍
1.欧几里得算法(辗转相除法) 直接上gcd和lcm代码. int gcd(int x,int y){ ?x:gcd(y,x%y); } int lcm(int x,int y){ return x* ...
- P4777 【模板】扩展中国剩余定理(EXCRT)/ poj2891 Strange Way to Express Integers
P4777 [模板]扩展中国剩余定理(EXCRT) excrt模板 我们知道,crt无法处理模数不两两互质的情况 然鹅excrt可以 设当前解到第 i 个方程 设$M=\prod_{j=1}^{i-1 ...
- P4777 【模板】扩展中国剩余定理(EXCRT)&& EXCRT
EXCRT 不保证模数互质 \[\begin{cases} x \equiv b_1\ ({\rm mod}\ a_1) \\ x\equiv b_2\ ({\rm mod}\ a_2) \\ ... ...
- Han Xin and His Troops(扩展中国剩余定理 Python版)
Han Xin and His Troops(扩展中国剩余定理 Python版) 题目来源:2019牛客暑期多校训练营(第十场) D - Han Xin and His Troops 题意: 看标 ...
- 扩展中国剩余定理 (exCRT) 的证明与练习
原文链接https://www.cnblogs.com/zhouzhendong/p/exCRT.html 扩展中国剩余定理 (exCRT) 的证明与练习 问题模型 给定同余方程组 $$\begin{ ...
- (伪)再扩展中国剩余定理(洛谷P4774 [NOI2018]屠龙勇士)(中国剩余定理,扩展欧几里德,multiset)
前言 我们熟知的中国剩余定理,在使用条件上其实是很苛刻的,要求模线性方程组\(x\equiv c(\mod m)\)的模数两两互质. 于是就有了扩展中国剩余定理,其实现方法大概是通过扩展欧几里德把两个 ...
- P4777 【模板】扩展中国剩余定理(EXCRT)
思路 中国剩余定理解决的是这样的问题 求x满足 \[ \begin{matrix}x \equiv a_1(mod\ m_1)\\x\equiv a_2(mod\ m_2)\\ \dots\\x\eq ...
- 学习笔记 - 中国剩余定理&扩展中国剩余定理
中国剩余定理&扩展中国剩余定理 NOIP考完回机房填坑 ◌ 中国剩余定理 处理一类相较扩展中国剩余定理更特殊的问题: 在这里要求 对于任意i,j(i≠j),gcd(mi,mj)=1 (就是互素 ...
随机推荐
- 【JDBC】jdbc原理总结
1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库 ...
- 2018.10.22 bzoj4380: [POI2015]Myjnie(区间dp)
传送门 区间dp好题. f[i][j][k]f[i][j][k]f[i][j][k]表示区间[i,j][i,j][i,j]最小值为kkk时的最大贡献. 然后可以枚举端点转移. 当时口胡到这儿就不会了. ...
- 2018.09.27 hdu4507吉哥系列故事——恨7不成妻(数位dp)
传送门 一道比较综合的数位dp. 维护三个值:[L,R][L,R][L,R] 区间中与7无关的数的数量,与7无关的数之和,与7无关的数的的平方和. 然后可以用第一个值推第二个,第一个和第二个值推第三个 ...
- 29. What Makes a True Leader ? 合格的领导者由何物决定 ?
29. What Makes a True Leader ? 合格的领导者由何物决定 ? ① Reading leadership literature,you'd sometimes think t ...
- win7 精简板 安装ardunio uno r3驱动
http://www.arduino.cn/thread-2350-1-1.html 下载那个64位的 http://www.keyes-robot.cn/forum.php?mod=viewthre ...
- Linux服务器部署系列之八—Sendmail篇
Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它.对它的学习,也能让我们更深的了解邮件系统的运作.下面我们就来看看sendmail邮 ...
- IntelliJ IDEA 2017版 开发SpringBoot的全局配置文件使用
一.全局配置文件 描述: Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径 ...
- Codeforces777B Game of Credit Cards 2017-05-04 17:19 29人阅读 评论(0) 收藏
B. Game of Credit Cards time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- Fig723.asy
import settings; outformat="pdf"; tex="xelatex"; usepackage("amsmath") ...
- Jersey构建Restful风格的webservices
最近一直在搞老项目的开发工作,很少写博文了.听了两位阿里巴巴大牛的讨论,决定试试用restful风格的webservices看看. 这里用的是Jersey这个框架,刚开始弄,有点麻烦,只能到处查资料. ...