Skip to main content
  1. Posts/

逆元学习笔记

·1 min
Note: This article is available in Chinese only. 本文暂无英文版本。 View original

acdreamer_逆元学习笔记

摘重点:

ksm(a,mod-2)的方法求逆元只适用于mod为质数且 gcd(a,mod)==1

扩展欧几里得算法求逆元只适用于gcd(a,mod)==1

扩展欧几里得算法求逆元

acdreamer的博客里提到一种通用的方法,正确性未知(然而有b|a的前提呵呵呵呵呵)

但是你会发现费马小定理和扩展欧几里得算法求逆元是有局限性的,它们都会要求

互素。实际上我们还有一

种通用的求逆元方法,适合所有情况。公式如下

O(n)求逆元:

其实有些题需要用到

的所有逆元,这里
为奇质数。那么如果用快速幂求时间复杂度为

如果对于一个1000000级别的素数

,这样做的时间复杂度是很高了。实际上有
的算法,有一个递推式如下

它的推导过程如下,设

,那么

对上式两边同时除

,进一步得到

再把

替换掉,最终得到

初始化

,这样就可以通过递推法求出
模奇素数
的所有逆元了。

另外

的所有逆元值对应
中所有的数,比如
,那么
对应的逆元是

Related

hdu 5145 NPY and girls

http://acm.hdu.edu.cn/showproblem.php?pid=5145 题意:有n个女孩,编号1..n,第i个女孩在第a[i]个教室,m次访问,每次访问编号[L,R]的女孩,处于同一个教室的女孩一次只能访问一个,问有多少种访问方案。两个不同的方案当且仅当访问的顺序有所不同。

test latex

·1 min
(\alpha+\beta\geq\frac12) 20180101_test: (\alpha+\beta\geq\frac12) $$\left[ \begin{matrix}a&b\c&\alpha\end{matrix} \right]$$\left( \begin{matrix}a&b\c&\alpha\end{matrix} \right)