EXCRT学习笔记

扩展中国剩余定理(EXCRT)

\[\begin{cases} x \equiv b_1 \pmod{a_1} \\ x \equiv b_2 \pmod{a_2} \\ \vdots \\ x \equiv b_n \pmod{a_n} \end{cases} \]

观察这个式子,当模数不互质的时候中国剩余定理(CRT)已经不再适用,这时就请出比CRT功能更强的EXCRT,在竞赛中尤为常用。

下面朴素介绍:

做法其实就是把式子合二为一,做 \(n-1\)
比如合并

\[\begin{cases} x \equiv b_1 \pmod{a_1} \\ x \equiv b_2 \pmod{a_2} \\ \end{cases} \]

显然的,存在 \(p, q \in Z\), 使得

\[ x + a1*p = b1 \\ x + a2*q = b2\\ \]

消去$ x $ :

\[ a1 * p - a2 *q = b1 - b2 \]

这是形如 \(ax+by = c\) 的不定方程, 自然的,我们用裴祖定理判断有无解,用EXGCD求出\(a1 * p - a2 * q = gcd(a1, a2)\) 的一组特解,再乘上 \(\frac{b1 - b2}{gcd(a1, a2)}\) 可以得到特解 \(p_0, q_0\) , 于是就可以得到原方程的通解 :

\[ p = p_0 + \frac{a2}{gcd(a1, a2)} * k \\ q = q_0 + \frac{a1}{gcd(a1, a2)} * k \]

又因为前面已知 $x = b1 - a1 * p $, 带入p可以得到 :

\[x = b1 - a1 * (p_0 + \frac{a2}{gcd(a1, a2)} * k) \\ = b1 - a1 * p0 - \frac{a1 \ a2}{gcd(a1, a2)} * k \\ = b1 - a1 * p0 - Lcm(a1, a2) * k \]

最终我们得到了一个新的同余方程 :

\[ x \equiv b1 - a1 * p0 \pmod{Lcm(a1, a2)} \]

## 小结

- EXCRT 通过 **两两合并** 逐步扩展模数(取最小公倍数)。
- 合并过程中利用 **扩展欧几里得** 求特解,并判断无解情况。
- 最终得到整个方程组的解(若存在)。

> 完结撒花 ✿✿ヽ(°▽°)ノ✿

posted @ 2026-05-08 09:38  ileu5fary  阅读(4)  评论(0)    收藏  举报