乘法逆元+线性求mod p的所有数逆元

原创 2015年11月21日 20:46:56

http://blog.csdn.net/acdreamers/article/details/8220787


逆元存在的

求单个逆元,一般用快速冪或者扩展欧几里得算法,复杂度为log(p)。

若是递推求解所有逆元,复杂度为线性。







http://blog.miskcoo.com/2014/09/linear-find-all-invert

[数论]线性求所有逆元的方法

前几天在看 lucas 定理的时候发现要求 1, 2,,p1modp1, 2,⋯,p−1modp 的逆元,然后就看到了一个 Θ(n)Θ(n) 的做法发现太神了,虽然想起来是挺简单的

这个做法实际上是这样的,首先 111(modp)1−1≡1(modp)

然后我们设 p=ki+r, r<i, 1<i<pp=k⋅i+r, r<i, 1<i<p

再将这个式子放到modpmodp 意义下就会得到

ki+r0(modp)k⋅i+r≡0(modp)

两边同时乘上 i1r1i−1⋅r−1 就会得到

kr1+i1i1i10kr1pi(pmodi)1(modp)(modp)(modp) k⋅r−1+i−1≡0(modp)i−1≡−k⋅r−1(modp)i−1≡−⌊pi⌋⋅(pmodi)−1(modp) 

于是就可以从前面推出当前的逆元了,代码也就一行



版权声明:本文为博主原创文章,未经博主允许不得转载。

三种求乘法逆元方法详解

P3811 【模板】乘法逆元 题目背景 这是一道模板题 题目描述 给定n,p求1~n中所有整数在模p意义下的乘法逆元。 输入输出格式 输入格式:   一行n,p   输出格式:...

求逆元的方法汇总

逆元 它是一个可以取消另一给定元素运算的元素。 对于正整数a和m,如果有a⋅x≡1(mod  m),那么把这个同余方程中x的最小正整数解叫做a模m的逆元。 前提 求a(modm)意义...

[模板]乘法逆元

费马小定理适用:求某一个数在模意义下的乘法逆元。 如果a、pa、p互质,那么有ap−aa^p-a就是p的倍数,所以有ap≡a(modp)a^p\equiv a(\mod p),ap−1≡1(modp...

[数论]线性求所有逆元的方法

前几天在看 lucas 定理的时候发现要求 1, 2,⋯,p−1modp1, 2,⋯,p−1modp 的逆元,然后就看到了一个 Θ(n)Θ(n) 的做法发现太神了,虽然想起来是挺简单的 这个做法...

Delphi求乘法逆元

  • 2012年03月08日 11:03
  • 192KB
  • 下载

Perfect Squares 费马小定理求乘法逆元k=b^(p-2)

Problem Description A number x is called a perfect square if there exists an integer b satisfying x...
  • Big_Rui
  • Big_Rui
  • 2017年07月24日 15:36
  • 146

洛谷[luogu] P1641 [SCOI2010]生成字符串(Catalan数(折线原理)+乘法逆元)

题目描述lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要...

数论知识总结(乘法逆元,欧拉函数,线性筛,快速幂,快速乘等)

数论总结 内容:欧拉函数,欧拉定理,费马小定理,中国剩余定理,欧几里得定理,扩展欧几里得定理,逆元,线性筛、卡特兰数、快速幂、快速乘、矩阵乘法。欧拉函数:A={ x | 1 < =x < n...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:乘法逆元+线性求mod p的所有数逆元
举报原因:
原因补充:

(最多只允许输入30个字)