若 ax≡1modp a x ≡ 1 mod p ,则称 x x 是 a a 在 modp mod p 意义下的逆元,记为 x≡a−1modp x ≡ a − 1 mod p
当然, a a 也是 x x 在 modp mod p 意义下的逆元
ab=a⋅b−1 a b = a ⋅ b − 1
几乎所有模意义下的除法都需要逆元
a a 在 modp mod p 意义下有逆元的充要条件: (a,p)=1 ( a , p ) = 1
若求 a a 在 modp mod p 意义下的逆元,则可以转化为求解如下方程
如果 p p 为质数,则 ap−1≡1modp a p − 1 ≡ 1 mod p
∴a⋅ap−2≡1 ∴ a ⋅ a p − 2 ≡ 1
∴ap−2≡a−1 ∴ a p − 2 ≡ a − 1
将费马小定理中的 p−2 p − 2 换为 φ(p)−1 φ ( p ) − 1 即可
p p 可以不是质数
用于 O(n) O ( n ) 预处理 [1⋯n] [ 1 ⋯ n ] 的逆元
构造 p=ki+r p = k i + r
∴ki+r≡0modp ∴ k i + r ≡ 0 mod p
∴ki=−r ∴ k i = − r
∴i−1=−k⋅r−1 ∴ i − 1 = − k ⋅ r − 1
其中 k=⌊pi⌋,r=p%i k = ⌊ p i ⌋ , r = p % i
∴i−1=−⌊pi⌋⋅inv[p%i] ∴ i − 1 = − ⌊ p i ⌋ ⋅ i n v [ p % i ]
为了防止出现负数,通常的写法是这样的
inv[i]=(mod-mod/i)*inv[mod%i]%mod;