数论全家桶
下文中,若无特别说明,默认 \((x,y)\) 为 \(\gcd(x,y)\) ,\([x,y]\) 为 \(\text{lcm}(x,y)\) 。
gcd
表述形式:
证明:
不妨设 \((x,y)=d,x=ad,y=bd\) ,则易知 \((a,b)=1\)
得证。
用途
求解两个数的 \(\gcd\) ,也可推出 $ \text{lcm} $ 的式子: \([x,y]=\frac{x\cdot y}{(x,y)}\) 。
exgcd
表述形式 & 证明:
为求解一个不定方程 \(ax_1+by_1=(a,b)\) ,我们可以先求解 \(bx_2+(a\bmod b)\cdot y_2=(b,a\bmod b)\) 。
于是我们可知, \(x_1=y_2,y_1=x_2-\left\lfloor\frac{a}{b}\right\rfloor\cdot y_2\) 是一组合法解。
用途
任意线性同余方程 \(ax+b\equiv 0\pmod p\) 皆可转化为 \(ax+py=p-b\) 这样的等价形式,若 \((p-b)\bmod (a,p)\neq 0\) ,由裴蜀定理可知方程无解;否则,我们先算出 \(ax+py=(a,p)\) 的解,再将解乘上 \(\frac{p-b}{(a,p)}\) ,即为原方程的一组解。
有了一组解后,我们不难发现方程的通解:注意到 \(x\) 增大 \(\frac{\text{lcm}}a\) ,而 \(y\) 减少 \(\frac{\text{lcm}}b\) 时方程仍正确,且此为最小变化的调整方案。于是其他的解都可如此调整得到。
excrt
表述形式 & 证明:
用exgcd解出 \(c_1,c_2\) 可得 \(x\) ,则原来的两方程可合为 \(x\equiv x_{new} \pmod {[a_1,a_2]}\)
用途
求解包含多个形如 \(x\equiv b_i\pmod{a_i}\) 的式子的线性同余方程组。
顺便提一句,洛谷板子要开 __int128 。
lucas
表述形式
其中 \(p\) 为质数。
证明有点强,我不会。可以参考这个。
用途
小模数导致的不好求逆元,无法常规预处理组合数。此时可用lucas求解。

浙公网安备 33010602011771号