[luoguP1516] 青蛙的约会(扩展欧几里得)


传送门

对于数论只会gcd的我,也要下定决心补数论了

列出方程

  • (x + t * m) % l = (y + t * n) % l

那么假设 这两个式子之间相差 num 个 l,即为

  • x + t * m = y + t * n + num * l

经过化简得

  • (n m) * t + l * num = x y

那么可以用扩展欧几里得求出结果

——代码

#include <cstdio> #define LL long long inline void exgcd(LL a, LL b, LL &d, LL &x, LL &y) int main()

  



上一篇:[POJ3728]The merchant(tanrjan_lca + DP)

下一篇:[luoguP2387] 魔法森林(LCT + 并查集)


数论 扩展欧几里得
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图