逆元 课堂笔记
2026-08-27 15:33:59
发布于:上海
为什么需要逆元
在模意义下,加、减、乘法均满足分配律,唯独除法不满足分配律。
为了解决除法取模的问题,我们定义: ,则称是在模意义下的乘法逆元,记作。
有了逆元,就可以把除法转化为乘法:
exgcd求逆元
求模的逆元,等价于求解方程:
适用场景:,必须互质,但不要求是质数。
【exgcd模板】
long long exgcd(long long a, long long b, long long &x, long long &y) {
if (b == 0) {
x = 1, y = 0;
return a;
}
long long x2, y2;
long long g = exgcd(b, a % b, x2, y2);
x = y2;
y = x2 - (a / b) * y2;
return g;
}
费马小定理+快速幂求逆元
费马小定理:若为质数,且,则有
适用场景:必须互质,必为质数
long long qpow(long long a, long long b, long long p) {
long long res = 1;
a %= p;
while (b > 0) {
if (b & 1) res = res * a % p;
a = a * a % p;
b >>= 1;
}
return res;
}
递推式求逆元
如果我们要快速地求解1~n所有整数的逆元,设inv[i]表示整数i % p的乘法逆元,则:
这里空空如也















有帮助,赞一个