科技:在线 O(B)-O(log(p / B)) 求逆元/ 俗称在线 O(1) 求逆元(?)

SkyMaths's Blogs / 2024-10-16 / 原文

离线 \(O(1)\) 求逆元

求出 \((\prod x)^{-1}\) 即可。

线性求逆元

先线性求逆元预处理出 \(x \le B\)\(x^{-1}\),设为 \(inv_x\)

对于一个 \(x\),令 \(p = qx + r\)

\[0\equiv 0\pmod p \to 0\equiv p\equiv qx + r\to x^{-1}\equiv -q\cdot r^{-1} \]

在线 \(O(1)\) 求逆元\(^{\text{但好像不是O(1)}}\)

但是若 \(r> \frac{x}{2}\) 怎么办呢

还有一个等式

\[0\equiv p\equiv (q + 1)x + r - x \]

发现得到了 \(x - r\)\(x^{-1}\equiv (q + 1)\cdot (x - r)^{-1}\)

于是每次要求的都会 \(< \frac x 2\) 做到 \(O(log \frac p B)\)

怎么说呢,因为 \(p\) 是定的,\(B\) 也是定的,所以是 \(O(1)\)/yiw/lh