zoukankan      html  css  js  c++  java
  • 【乘法逆元】简单说说乘法逆元的求法

    乘法逆元

    一、定义

      若在mod p意义下,对于一个整数a,有a*b≡1(mod p),那么这个整数d即为a的 乘法逆元,同时a也为d的乘法逆元

    二、求法

      (1).费马小定理

        当p为质数时,对于任意整数a,满足ap-a是p的整数倍

        在mod p意义下可以表示为

          ap-a≡0(mod p)

          即为ap≡a(mod p)

          所以ap-1≡1(mod p)

          即为a*ap-2≡1(mod p)

        所以ap-2即为a在 mod p 意义下的逆元

      (2).扩展欧几里得

        ax≡1(mod p)可以转化成ax+py=1的形式

        那么显然我们可以用扩展欧几里得算法解2元一次方程解出x

        扩展欧几里得算法请戳这里~

      (3).O(n)递推1~n的逆元

        

        我们就可以做到O(n)递推

        inv[i]=(p-p/i)*inv[p%i]%p;

        从某个dalao博客里盗的图欸嘿嘿

      (4).O(n)求阶乘的逆元

        我们假设有x使得 a!x≡1(mod p)

        则(a-1)!*ax≡1(mod p)

        所以说(a-1)!的逆元为 ax%p

        那么我们就可以先求出n!的逆元再倒推回去

      (5).欧拉定理

        由aφp(mod p)aφp1是a的逆元 
        模数不是素数时同样适用

      (6).一个小推论

         (a/b)%p=(a%(bp))/ p

          证明:

          (a/b)%p=a/b-⌊(a/b)/p⌋*p

               =a/b-⌊a/(b*p)⌋*p

               =a/b-⌊a/(b*p)⌋*b*p/b

               =(a%(bp) )/p

  • 相关阅读:
    BZOJ 5059: 前鬼后鬼的守护 可并堆 左偏树 数学
    BZOJ 1975: [Sdoi2010]魔法猪学院 大水题 第k短路 spfa
    BZOJ 4003: [JLOI2015]城池攻占 左偏树 可并堆
    BZOJ 3091: 城市旅行 lct 期望 splay
    2018/3/27 省选模拟赛 140分
    BZOJ 2959: 长跑 lct 双联通分量 并查集 splay
    2018/3/26 省选模拟赛 60分
    快速排序
    插入排序法
    快速排序的两种方法
  • 原文地址:https://www.cnblogs.com/rir1715/p/7748054.html
Copyright © 2011-2022 走看看