浅谈逆元

来源:互联网 发布:梭哈网络用语什么意思 编辑:程序博客网 时间:2024/06/04 23:24

先举例子:

·初遇一道有关逆元的题目,题目大意:

·随机给定n个数,有多少种方法使得这n个数构成一个大小为n的二叉堆(即大根堆和小根堆)?

·可以考虑树形dp

·设表示用i个数能够成多少个大小为n的二叉堆,则有

    (i.left.tot表示以i为根的左子树的个数)

   (i.right.tot表示以i为根的右子树的个数)

两式等立

·证明:

已知一棵树是由根以及左子树和右子树组成,当左子树满足堆性质,右子树满足堆性质,则整棵树都可满足堆性质(因为是任选n个数,则根一定可以满足堆性质)故,左子树在n个数里任选i.left.tot个,都可贡献f(i.left)的答案,当左子树确定时右子树即确定,故右子树确定时左子树确定(完全二叉树性质)

·上述算法瓶颈在于求

·因为答案要求摸m(质数,10^9+7)

·可以分解质因数,但效率太慢

·转入正题,逆元~

                             逆元

·逆元定义:若有,则称x为a模m的逆元

·逆元用处:可把除法转为乘法,加快运算速度

·定义:表示b与m的逆元

·举例:

       如中,设被除数为a,除数为b,则

·证明:

      

  根据费马小定理可得

 

费马小定理

  证明:

·定理1:

     若,且,则;   

      证:

                     

      

      
      故的倍数,故可约去 

                  

                   ∴


·定理2:

     通过定理1可得,若取素数的完全剩余系,给定,则也为m的完全剩余系。

     证:采用反证法.

     若

     则通过定理1可得

     通过完全剩余系的性质可得不可能有两数同余,故定理成立


·通过定理2可得,取素数m的既约剩余系,则

      

   故可以通过定理1的逆运用可得

·证毕


·证明费马小定理最基本也是最重要的是弄懂定理1,其余可以迎刃而解

以上定理参考度娘

0 0
原创粉丝点击