在做题的过程中,我们经常会遇到
%
求算结果的情况
这个等价于求算的乘法逆元
1.mod(模数)为质数时
利用费马小定理有:在模
的意义下的乘法逆元 =
代码实现为快速幂,求解一个的时间复杂度为
2.利用扩展欧几里德算法求解
将原式转化为
求出,最后求出最小正整数解:( x % mod + mod ) % mod
3.O(n)线性求解
用于求解连续数字的逆元 例如:洛谷乘法逆元模版
代码如下:
inv[1]=1;
for (int i=2;i<=n;++i)
inv[i]=(-(mod/i)*(LL)inv[mod%i]%mod+mod)%mod;
4.O(n)求阶乘的逆元
持续更新。。。