裴蜀定理
定义
裴蜀定理,又称贝祖定理(Bézout's lemma)、贝祖等式(Bézout's identity)。是一个关于最大公约数的定理。
其内容是:
设
证明
对于第一点
由于
所以
因此
对于第二点
若任何一个等于
, 则 . 这时定理显然成立。若
不等于 .由于
,不妨设
都大于 , .对
, 两边同时除以 , 可得 , 其中 .转证
.我们先回顾一下辗转相除法是怎么做的,由
我们把模出来的数据叫做 于是,有把辗转相除法中的运算展开,做成带余数的除法,得
不妨令辗转相除法在除到互质的时候退出则
所以有( 被换成了 ,为了符合最终形式)即
由倒数第三个式子
代入上式,得然后用同样的办法用它上面的等式逐个地消去
,可证得
. 这样等于是一般式中 的情况。
推广
逆定理
设
特殊地,设
多个整数
裴蜀定理可以推广到
应用
Codeforces Round #290 (Div. 2) D. Fox And Jumping
给出
分析该问题,发现想要跳到每一个格子上,必须使得所选数
解法 1:我们可以转移思想,因为这些数互质,即为
由于:互质即为最大公因数为
不过还有个问题,即为需要记录是否已经买过一个卡片,开数组标记由于数据范围达到 unordered_map
(比普通的 map
更快地访问各个元素,迭代效率较低,详见 STL-map)
解法 2:从数组
设
DP 后最终的总代价即为
如同一般的 0-1 背包问题,可以用滚动数组优化,去掉第一维。而这里 300 个数可达的最大公因数 unordered_map
代替数组储存下标
实际上,这里解法 1 建出的图便是解法 2 中动态规划的状态转移图,解法 2 相当于用动态规划求有向无环图的最短路,因此解法 1 和解法 2 是等价的。但解法 2 无需储存全图,同时 DP 的时间复杂度为
进一步结论
对自然数
其中 x 和 y 为自然数。如果方程有解,称 n 可以被 a、b 表示。
记
对任意的整数 n,n 与
即:可表示的数与不可表示的数在区间
证明
由于 a、b 互素,因此原方程有整数解。设解为:
其中 t 为整数。取适当的 t,使得 y 位于 0 到
第一步:证明大于 C 的数都可以被表示。当 n 大于 C 时:
于是 x 也是非负整数。
第二步:证明 C 不可被表示,进而 n 与
反证法。若
由于 a 与 b 互素,所以 a 整除
矛盾!第二步证完。
第三步:证明如果 n 不可被表示,则
由上可知,若 n 不可被表示,由于上述方程中已规定 y 在 0 到
显然
几何意义
重新观察方程
当
根据上述讨论:当 n 可以被表示的时候,直线恰好经过一个整点;当 n 不可以被表示的时候,直线不经过整点(在第一象限)。
这结论也可以理解为:作三角形
因此,小于等于 n 的能被表示的非负整数的数量,恰好就是直线
另一种解释
考虑模 b 意义下每个剩余系中最小能被表示的值是多少——大于他们的可以通过增加若干个 b 得到。
观察原方程,a 的若干倍数
这是一个非常经典的直线下整点问题,恰好是这条直线:
即
使用类欧几里得算法可以在
题目
P3951 NOIP2017 提高组 小凯的疑惑/蓝桥杯 2013 省 买不到的数目
本页面最近更新:2023/11/12 15:45:33,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:ylxmf2005, Great-designer, greyqz, iamtwz, ImpleLee, Ir1d, MegaOwIer, monkeysui, ShizuhaAki, sshwy, Sunlight-zero, TianKong-y, Tiphereth-A, Xeonacid
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用