boxmoe_header_banner_img

Hello! 欢迎来到DRheEheAM的blog!

加载中

文章导读

Jul 29th 暑假集训总结 | CRT&exCRT


avatar
DRheEheAM_Garylv229憨毛怪 2026-07-30 42

AI Summary

总结CRT(模互质)和EXCRT(模不互质)的解法,以及屠龙勇士问题的转化与求解。

题单链接 ZR 2026 Summer C 7.29

中国剩余定理(CRT)/ 曹冲养猪 (洛谷-P1495)

CRT 模版题。顺便复习一下我的 CRT

中国剩余定理(Chinese Remainder Theorem, CRT),用于求解如下形式的一元线性同余方程组:

{xa1(mod m1)xa2(mod m2)xa3(mod m3)xak(mod mk)    (m1,m2,mk)\begin{cases} x\equiv a_1(\text{mod }m_1)\\ x\equiv a_2(\text{mod }m_2)\\ x\equiv a_3(\text{mod }m_3)\\ \vdots\\ x\equiv a_k(\text{mod }m_k)\\ \end{cases}\ \ \ \ (m_1,m_2\cdots,m_k两两互质)

我们计算所有模数的积 nn ,对于第 ii 个方程,求出 pi=nmip_i=\frac{n}{m_i} 以及pip_imod mi\text{mod } m_i 意义下的逆元 pi1p_i^{-1}

最后方程组的唯一解为 x=pipi1ai (mod n)x=\sum p_ip_i^{-1}a_i\ (\text{mod }n) 。证明略~ {hanser1_南瓜头毛怪}

扩展中国剩余定理(EXCRT) (洛谷-P4777)

相比较 CRT 而言, exCRT 处理更一般的情况,即模数不两两互质的情况。不过与 CRT 几乎无关,而是使用 exGCD 合并方程组来求解的。

设已经合并了的方程为 xA(mod M)x\equiv A(\text{mod }M) ,合并到了 xai(mod mi)x\equiv a_i(\text{mod }m_i) 这个方程。

转化为 x=Ay1+M=aiy2+mix=Ay_1+ M=a_iy_2+m_i ,移项 Ay1aiy2=miMAy_1-a_iy_2=m_i-M 。发现是一个标准的不定方程,直接使用裴蜀定理判断是否有解,并且使用 exGCD 求 y!,y2y_!,y_2

合并之后的方程为 xAy1+M(mod lcm(m1,m2))x\equiv Ay_1+M(\text{mod }\text{lcm}(m_1,m_2)) 。继续合并下去至只剩一个即可。

屠龙勇士 (洛谷-P4774)

首先容易发现,每条龙对应的剑是固定的。可以使用平衡树维护(当然也可以用 multiset 草过去{hanser1_嘤嘤嘤})。考虑我们求到了第 ii 条龙对应的剑伤害为 qiq_i

随后我们转换题面,实际上是要我们求:

{q1xa1(mod p1)q2xa2(mod p2)qnxan(mod pn)\begin{cases} q_1x\equiv a_1(\text{mod }p_1)\\ q_2x\equiv a_2(\text{mod }p_2)\\ \vdots\\ q_nx\equiv a_n(\text{mod }p_n)\\ \end{cases}

系数什么的不重要!先假设我们合并到第 ii 个方程,并且前 i1i-1 个方程的最小解为 rr ,记 M=lcm(p1,p2,,pi)M=\text{lcm}(p_1,p_2,\cdots,p_i) ,则通解为 r+Mxr+Mx

那么我们实际上就是求 qi(r+Mx)ai(mod pi)q_i(r+Mx)\equiv a_i(\text{mod }p_i)xx 的最小解。移项得到 qiMxaiqir(mod pi)q_iMx\equiv a_i-q_ir (\text{mod }p_i)

即不定方程:qiMx+piy=aiqirq_iMx+p_iy=a_i-q_ir 。exGCD求解即可。



评论(1)

查看评论列表
DRheEheAM_Gary lv229憨毛怪 2026年07月30日
{hanser1_lz怎么可能没有女粉}

发表评论

DRheEheAM_Gary Blog