【学习笔记】基础数学:中国剩余定理

最近咋感觉总考 CRT,去年 APIO,今年 Day2T2 的部分分,回头找了一下自己学习笔记居然没找到,只能补一个了

中国剩余定理(CRT)

我们现在考虑一个形如 \(\begin{cases}x \equiv a_1 \pmod{m_1}\\x \equiv a_2 \pmod{m_2}\\\dots\\x \equiv a_n \pmod{m_n}\\\end{cases}\) 的方程组,其中 \(x,a_i,m_i\) 均为正整数,并且 \(m_i\) 互质

我们让 \(M=\prod_{i=1}^{n}m_i\)\(n_i=\frac{M}{m_i}\),\(n_i^{-1}\)\(\bmod m_i\) 意义下的逆元,此时我们可以构造答案:

\[x = \sum_{i=1}^{n}a_i n_i n_i^{-1}\pmod{M} \]

我们可以发现一个问题,就是这里的 \(m_i\) 只是互质,我们并没有保证 \(m_i\) 是质数,那很不好做了,我们就不能使用费马小定理,我们只能使用拓展欧几里得算法。

拓展中国剩余定理(EXCRT)

我们发现中国剩余定理有一个非常不好的事情,就是说这里的 \(m_i\) 必须互质,如果不互质就没法做,那我们考虑如何在 \(m_i\) 不互质的情况下接着进行 CRT

首先我们考虑这样的一个式子 \(\begin{cases} x \equiv a_1\pmod m_1 \\ x \equiv a_2 \pmod m_2\end{cases}\)

我们可以考虑这样的一个方程:\(\begin{cases} x=a_1+qm_1 \\ x=a_2+pm_2 \end{cases}\)

通过移项可以知道 \(a_1-a_2 = pm_2 - qm_1\)

那么我们知道,当 \(a_1-a_2\) 不能被 \(\gcd(m_1,m_2)\) 整除的时候,这个方程无解。否则一定可以构造出一组满足条件的 \(q,p\)

不过如果我们遇到的是 \(\begin{cases}x \equiv a_1 \pmod{m_1}\\x \equiv a_2 \pmod{m_2}\\\dots\\x \equiv a_n \pmod{m_n}\\\end{cases}\) 的方程组时就不能通过一次来实现了,我们需要进行 \(n-1\) 次的合并,最后就可以构造 \(x\) 的答案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/894787.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS Next 属性动画和转场动画

HarmonyOS Next 属性动画和转场动画 在鸿蒙应用开发中,动画是提升用户体验的关键要素。通过巧妙运用动画,我们能让应用界面更加生动、交互更加流畅,从而吸引用户的注意力并增强其使用粘性。鸿蒙系统为开发者提供了丰富且强大的动画开发能力,其中属性动画是整个动画体系的核…

C语言小记

int a =10; int b=3; int c= pow(10,3); //表示10的三次方unsigned 表示不用补码表示 //数字的输入,%d 包括 char,short,int%u unsigned%ld long long%lu unsigned long long输入 float 是 %f double 是 %lf shuchu dou shi %f保留小数的话是大于5才入,小于等于5舍去强…

系统流程图联系

练习题一:图书馆借阅管理系统流程图绘制 背景说明:在学校图书馆借阅管理系统中,学生借阅图书需要经过一系列流程。首先,学生携带校园卡前往借阅处,工作人员通过刷卡设备读取学生信息,系统验证学生身份是否有效。若身份无效,系统提示原因(如校园卡过期、欠费等)。若身份…

推荐4本专著《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》书,非常感谢

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…

SAS 9.4软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【043】三位数字即可免费获取分享链接,无广告拒绝套路;2、安装教程双击setup.exe安装,弹窗安装对话框简体中文,点击确定默认选择,点击下一步指定SAS安装主目录,选择C盘之外磁盘,点击下一步选择第二个,安装SAS Foundat…

MyBatis与其使用方法讲解

ORM在讲解Mybatis之前,我们需了解一个概念ORM(Object-Relational Mapping)对象关系映射,其是数据库与Java对象进行映射的一个技术.通过使用ORM,我们可以不用编写负责的Sql语句,而是通过操作对象来实现增删改查操作缺优分析优点提高开发效率,减少代码的重复性和维护成本 增加代码…