• 数论算法总结


    数论算法总结

    费马小定理

    (a^{p-1} equiv 1 pmod{p}space ((a,p)=1,isprime(p)))

    • 证明:Link
      这里给出通用形式:考虑任意正整数(amod pspace ((a,p)=1))的剩余系,有(1,2,3,ldots ,p-1)
      那么我们再取任意正整数(a'((a',p)=1)),将这个剩余系乘上(a')(mod p)后,剩余系还是(1,2,ldots,p-1)的一个排列。
      将这些数字连乘得到:(a'^{p-1} imes (p-1)! equiv (p-1)! mod p),两边同除((p-1)!)得到:(a'^{p-1} imes 1 equiv 1 mod p),将(a')替换为(a)即可。
      求逆元就是(a^{p-2} imes a equiv 1 pmod{p})
      注意一切的推导都是在上面的式子条件下的。

    欧拉定理

    (a^{phi(n)}equiv 1 pmod{n} ((a,n)=1))

    • 容易发现,前面的费马小定理是欧拉定理的儿子定理。
      主要是来补充一下为什么(a imes x_i mod n ((a,n)=1,x_ileq n))(phi(n))种结果。
      假设(m_i=a imes x_i),那么假设存在(m_iequiv m_j pmod{n} (i ot =j)),那么就有:(a(x_j-x_i)= kn),但是由于((a,n)=1)(x_j-x_i<n),所以无论如何都不可能有解。 剩下的证明和上面一样。

    拓展欧拉定理

    (a^bequiv egin{cases} a^{b\%phi(p)}~~~~~~~~~~~gcd(a,p)=1\ a^b~~~~~~~~~~~~~~~~~~gcd(a,p) eq1,b<phi(p)\ a^{b\%phi(p)+phi(p)}~~~~gcd(a,p) eq1,bgeqphi(p) end{cases}~~~~~~~(mod~p))

    证明:Link

    BSGS

    给定 (a,b,p),求最小的非负整数(x)(x)满足(a^x equiv b pmod{p})

    首先有费马小定理可知:(a^{kmod (p-1)}equiv a^k pmod{p}),所以说(x< p-1)
    那么我们令(m=lceil sqrt{p} ceil)(x=i imes m -j),那么有:$$a^{i imes m-j}equiv b pmod{p}$$

    [a^{i imes m}equiv b imes a^jpmod{p} ]

    那么暴力在(0 o m)枚举(j),存入Hash表,然后在(1 o m)枚举i查询。

    Lucas定理

    (inom{n}{m}=inom{lfloor frac{n}{p} floor}{lfloor frac{m}{p} floor} imes inom{n mod p}{mmod p})

    证明:Link

  • 相关阅读:
    ASP.NETCore -----导出Excel文件并下载
    NPOI操作excel
    各种raid对比
    python带参函数(计算器脚本解释标注)
    GlusterFS群集存储项目
    PYTHON定义函数制作简单登录程序(详细)
    Python编写脚本(输出三星形状的‘*’符号)
    PYTHON常用数据类型(列表,元组,字典)
    SQL server常用函数使用示例
    sql 语句-初级进阶(二)
  • 原文地址:https://www.cnblogs.com/wxjor/p/9533407.html
Copyright © 2020-2023  润新知