扩展欧几里得定理总结

拓展欧几里得定理主要用来求解同余线性方程,求逆元等,遇到题目给出形如ax+by==c,要求一组满足要求的x和y时,可以联系扩展欧几里得求解

拓展欧几里得由 gcd(a,b) = gcd(b,a%b) 推出

由于 a*x + b*y == gcd(a,b) 必定有解 所以 b*x + (a%b)*y == gcd(b,a%b)

最终得到ax+by==a*y1+b*(x1-(a/b)*y1)

当x0 y0 是方程的一组解,可以得到所有解的形式满足

x=x0+b/d*t

y=y0-a/d*t

当 题目求|x|+|y| 最小的时候,假设a>b,那么这个方程是先减少后增大的(因为a/d的斜率大于b/d),所以可以枚举 y=0附近的值 取最小值

posted @ 2017-04-03 12:40  joeylee97  阅读(244)  评论(0编辑  收藏  举报