码迷,mamicode.com
首页 > 其他好文 > 详细

CodeForces 7C Line

时间:2015-10-25 19:16:40      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

扩展欧几里德算法:

已知a, b求解一组x,y,使它们满足等式: ax+by = gcd(a, b) =d(解一定存在,根据数论中的相关定理)。

扩展欧几里德常用在求解模线性方程及方程组中。

ax+by+c=0可以转化为ax+by=-c;

可以用扩展欧几里德算法来求ax1+by1=gcd(a,b)来求出x1,y1

此时gcd(a,b)不一定等于-c,假设-c=gcd(a,b)*z,可得z=-c/gcd(a,b);

则ax+by=-c <==> (ax1+by1)*z=gcd(a,b)z;

                  <==> ax1*z+bx2*z=gcd(a,b)z;

因此可以得知x与x1的关系,y与y1的关系:

x=x1*z,y = y1*z(z上面已经求出来了)

CodeForces 7C Line

标签:

原文地址:http://www.cnblogs.com/qq2424260747/p/4909180.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!