扩展GCD/逆元
文章平均质量分 93
Anxdada
多读书多看报, 少吃零食多睡觉
展开
-
poj 1060---青蛙的约会 【扩展GCD】
传送门题意: 问最少要跳跃几次两只青蛙才能见面. 思路: 根据题意,两个青蛙跳到同一个点上才算是遇到了,所以有 (x+m*t) - (y+n*t) = p * k; (t是跳的次数,k是a青蛙跳的圈数跟b青蛙的圈数之差。整个就是路程差等于纬度线周长的整数倍), 转化一下: (n-m) * t + k * p = x – y; 令 a = n-m, b = k, c =原创 2017-06-22 14:44:01 · 391 阅读 · 0 评论 -
扩展GCD的一些理解(求逆元,解同余方程,解方程等等)
首先要知道gcd函数的基本性质: gcd(a,b)=gcd(b,a)=gcd(|a|,|b|)=gcd(b,a%b)//已通过代码验 不知道辗转相除法的请点这里扩展欧几里得算法: 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然 存在整数对 x,y ,使得 k*gcd(a,b)=ax+by。 代码如下: 非返回值的: void exgcd(ll a原创 2017-08-06 15:14:28 · 1352 阅读 · 0 评论