【学习笔记】逆元
同余类
模 \(m\) 的同余类。
\(\mathbb{Z}_m = {\overline{0},\overline{1},...\overline{m-1}}\).
模 \(m\) 的缩同余类。
\(\mathbb{Z_m}^{*} = {\overline{x}|0<x<m,\gcd(x,m)=1}\).
定义
若 \(a \in \mathbb{Z_m}^{*}\),\(\exists b\in \mathbb{Z_m}^*\),\(a\cdot b = 1 (\mod m)\).
存在性
\[a\cdot b = m\cdot k+1(k \in \mathbb{Z})
\]
\[a \cdot b - m \cdot k = 1 = \gcd(a,m)
\]
根据扩展欧几里得定理可得,存在这样一个 \(b\)。
线性求逆元
考虑求 \(1 \sim n\) 的数模 \(p\) 意义下的逆元。
从 \(n\) 出发来看。
\(p = k \cdot n + r\),其中 \(k = \lfloor\frac{p}{k}\rfloor\),\(r = p\mod k\).
有 \(kn + r \equiv 0 \pmod{p}\)
同时乘上 \(n^{-1} \cdot r^{-1}\),则有 \(k \cdot r^{-1} + n^{-1} \equiv 0 \pmod{p}\).
于是有 \(n^{-1} \equiv -k \cdot r^{-1} \pmod{p}\).
\(r^{-1}\) 之前已经求出来,写成递推式就变成:
inv[n] = -k*inv[r]%p;

浙公网安备 33010602011771号