线性求逆

推导过程

(1^{-1}equiv 1(mod p))

(p=k imes i+r,r<i,1<i<p)

将这个式子放在 (mod p) 的意义下,得到 (k imes i+requiv 0(mod p))

两边同时乘上 (i^{-1},r^{-1}),得到

(k imes r^{-1}+i^{-1}equiv 0(mod p))

(i^{-1}equiv-k imes r^{-1}equiv0(mod p))

(i^{-1}equiv-lfloorfrac{p}{i} floor imes(p mod i)^{-1}(mod p))

((p mod i)^{-1})​ 是已经求过的了,因此 (i^{-1})​ 可以线性求出。

部分代码

ni[1]=ni[0]=1;
for (int i=2;i<=mx;++i)
	ni[i]=(ll)(mod-mod/i)*ni[mod%i]%mod;
原文地址:https://www.cnblogs.com/Livingston/p/15517171.html