洛谷 P3811 递推求解 [1,n] 的乘法逆元

题目传送门

如何求 \(x\ (x>1)\) 在模 \(p\) 意义下的逆元:

  1. 做带余除法:设 \(p=kx+r\ (r<x)\),其中 \(k=\lfloor\dfrac{p}{x}\rfloor,\ r=p\bmod x\),显然有 \(k<p\)
    \(kx+r=p\equiv 0 \pmod p\)

  2. 反解 \(x\),得 \(x\equiv -rk^{-1}\pmod p\)

  3. 两边取倒数,得 \(x^{-1}\equiv -kr^{-1}\pmod p\)

注意 \(-k < 0\),不能直接乘,而由 \(-k\equiv p-k\pmod p\),所以我们可以用 \(p-k\) 替换 \(k\)

这样我们就得到了 \(x\) 的逆元:\(x^{-1}\equiv (p-k)r^{-1}\pmod p\),其中 \(k=\lfloor\dfrac{p}{x}\rfloor,\ r=p\bmod x\)

由于 \(r<x\),所以在从小到大递推 \(x^{-1}\) 的时候,\(r^{-1}\) 肯定已经计算过了。

补一个 \(1^{-1}\equiv 1\pmod p\)

以上。

posted on 2024-10-26 10:21  UXOD  阅读(36)  评论(0编辑  收藏  举报