• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
L&King
有何不可!
   首页    新随笔    联系   管理    订阅  订阅
2016年7月28日
POJ 1061 青蛙的约会【扩展欧几里德】
摘要: 设跳的次数为t 根据题意可得以下公式:(x+mt)%L=(y+nt)%L 变形得 (x+mt)-(y+nt)=kL (n-m)t+kL=x-y 令a=(n-m),b=L,c=x-y 得 at+bk=c 此时就相当于求解二元不定方程ax+by=c的最小整数解 1、先计算Gcd(a,b),若n不能被Gc 阅读全文
posted @ 2016-07-28 16:39 L&King 阅读(213) 评论(0) 推荐(0)
求逆元
摘要: 什么叫乘法逆元? 这里,我们称 x 是 a 关于 m 的乘法逆元 这怎么求?可以等价于这样的表达式: a*x + m*y = 1 怎么求逆元? 1,扩展欧几里德算法求逆元 2,如果为素数,那么还可以根据费马小定理得到逆元为。 推导过程如下 根据上式,若求ans=(a/b) mod m,可转换成求a* 阅读全文
posted @ 2016-07-28 14:10 L&King 阅读(276) 评论(0) 推荐(0)
扩展欧几里德算法
摘要: 有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做? 欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时间复杂度里求解出来 a 和 阅读全文
posted @ 2016-07-28 13:42 L&King 阅读(163) 评论(0) 推荐(0)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3