当前位置: 首页 > news >正文

数学知识

exgcd(拓展欧几里得算法)

exgcd,常用于解决形如 \(ax+by=gcd(a,b)\) 的方程。
容易知道,\(gcd(a,b)=gcd(b,a%b)\)
所以我们可以先解出来方程 \(bx+(a%b)y=gcd(b,a%b)\)
所以这个方程如何解呢?
考虑参考辗转相除法,一路向下,最终一定出现 \(b=0\) 的情况,此时一定会出现 \(a=gcd(a,b)\),然后即可带入 \(x=1,y=0\)
于是接下来需要解决的问题就变成了通过方程 \(bx+(a%b)y=gcd(b,a%b)\) 的特解,推出方程 \(ax+by=gcd(a,b)\) 的一组特解。
换一种表现方式,原方程即可代换为 \(bx+(a-b*⌈\frac{a}{b}⌉)y=gcd(a,b)\)
也就是说,我们可以得到方程 \(ay+b(x-⌈\frac{a}{b}⌉y)=gcd(a,b)\) 记这个方程的一组特殊解为 \(x',y'\)
于是,原方程中 \(x\)\(y\) 的一组特殊解是 \(x=y',y=x'-y'\times ⌊\frac{a}{b}⌋\)
这样,我们就得到了原方程的一组特殊解。
但是,容易发现,大部分的题目都要求我们给出最小正整数解,所以我们又发现了这一性质。\(x+\frac{a}{gcd(a,b)},y-\frac{b}{gcd(a,b)}\)也是这个方程的一组特殊解,那么,我们只需要将 \(x\) 对着 \(\frac{a}{gcd(a,b)}\) 取模,搞成正的即可。

学会啦

例题

P1082 同余方程

[题目传送门]([P1082 NOIP 2012 提高组] 同余方程 - 洛谷)

这是个板子题。

要求的是方程 \(ax\equiv 1\mod b\) 的最小正整数解,那么这个式子显然可以转换为 \(ax+by=1\),因为保证有解,所以显然这两个数是互质的,所以我们直接 exgcd 做一做就差不多了。

P5656 【模板】二元一次不定方程

[题目传送门](P5656 【模板】二元一次不定方程 (exgcd) - 洛谷)

其实这才是真正的板子。

要求的方程是显然的,形式非常符合,所以考虑直接做。

判无解是好判断的,直接看 \(c=k\gcd(a,b),k\in Z\) 是否成立即可,如果不成立,直接输出 \(-1\) 就行了。

如果有解的话,我们考虑先做 \(ax+by=\gcd(a,b)\) ,然后将求出来的答案乘 \(k\) 即可。

然后,剩下的判断和之前的题目是一样的,就不细讲了。

需要注意到一点是,取模完了有可能那个数是 \(0\),这个时候重新给他加一下即可。

http://www.gsyq.cn/news/13662.html

相关文章:

  • 从0到1搭建高隐蔽性C2基础设施
  • 2025 年超声波清洗机最新权威推荐排行榜:龙门式 / 悬挂式 / 全自动等多类型设备 TOP3 品牌深度解析与选购指南
  • 详细介绍:【论文阅读 | ICCV 2025 | M-SpecGene:面向 RGBT 多光谱视觉的通用基础模型​​】
  • 数据类型-字符串
  • 详细介绍:零基础学AI大模型之LangChain六大核心模块与大模型IO交互链路
  • 基础组合计数与卢卡斯定理
  • 使用Python网络爬虫抓取牛客网题目
  • debian13 btrfs 启用swapfile进行休眠(根据回忆大概写的)
  • 深入解析:C# 串口通信全解析:从基础到复杂协议的设计思路
  • 酵母表面展示技术:从蛋白分析到多领域应用,解锁可持续发展的生物新工具
  • 9/28数学错题分析
  • linux查找指定字符串的三种方法 - 指南
  • 深入解析:自动驾驶中的传感器技术53——Radar(14)
  • 9/28
  • 2025.9.28
  • 无旋Treap(非指针)实现
  • 2025年山东设备回收公司TOP交易服务推荐排行榜,济宁,梁山设备回收,二手,饮料,食品,制药,实验室,生产线,化工厂,废旧,大型,专业设备回收公司推荐
  • 棋盘覆盖难题
  • vlookup一定要补足最后的,0)
  • 曾记否 -- Words to be remembered 2025.9.28
  • macOS 彻底卸载和重装 Node.js 指南
  • StatusStrip 状态栏控件的使用
  • unzip-6.0-21.el7.x86_64.rpm怎么安装?CentOS 7手动安装rpm包详细步骤
  • 小迪安全v2023学习笔记(九十讲)—— 小程序篇反编译外在主包分包调整泄露算法逆向未授权
  • 解题报告-序列(alis.*)
  • Cloudbox工具箱!一款拥有100款工具的超级工具箱!Cloudbox工具箱教程(附下载)
  • Lightroom使用教程!一文学会Lightroom使用教程!软件攻略(批量处理)
  • 启发式合并 [PA 2014] Fiolki
  • 完整教程:ISP的前处理和后处理是什么?
  • 《痞子衡嵌入式半月刊》 第 119 期