线性求逆元的算法

Posted 胡小兔的OI博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性求逆元的算法相关的知识,希望对你有一定的参考价值。

本文介绍\(O(n)\)处理\([1, n]\)在模\(P\)意义下的逆元的方法。

结论

\[inv_i \equiv -\lfloor \frac{P}{i} \rfloor * inv_{(P \bmod i)} \pmod P\]


证明

现在要求\(i\)的逆元:

\(a = \lfloor \frac{P}{i} \rfloor, b = P \bmod i\),则

\[a * i + b \equiv 0 \pmod P\]
\[-a * i \equiv b \pmod P\]

等式两边同除\(i * b\)

\[-a * inv[b] = inv[i]\]

\(a = \lfloor \frac{P}{i} \rfloor, b = P \bmod i\)代入上式得

\[inv_i \equiv -\lfloor \frac{P}{i} \rfloor * inv_{(P \bmod i)} \pmod P\]

以上是关于线性求逆元的算法的主要内容,如果未能解决你的问题,请参考以下文章

乘法逆元的线性筛法

线性的求逆元

逆元板子集

(数论)逆元的线性算法

线性求逆元

线性求逆元 组合数