(EX)CRT总结
(EX)CRT总结
这个东西是联赛的时候搞的,早就忘了,写篇博客复习一下
中国剩余定理(crt)
给定\(a\)、\(m\)
\[x\equiv a_1(mod\;m_1)\\
x\equiv a_2(mod\;m_2)\\
x\equiv a_3(mod\;m_3)\\
...\\
x\equiv a_n(mod\;m_n)
\]
保证所有\(m\)互质,要求\(x\)最小。
记一下结论算了
设
\[M=\prod_{i=1}^nm_i \\
M_i=M/m_i\\
k_iM_i\equiv1(mod\;m_i)
\]
则\(x=\sum_{i=1}^n(a_ik_iM_i)\;mod\;M\)
扩展中国剩余定理(excrt)
同样还是上面那堆东西,但是不保证所有\(m\)互质了。
设我们解前\(k-1\)个方程组的解为\(x\),且\(M=\prod_{i=1}^{k-1}m_i\)
则前\(k-1\)个方程组的通解为\(x+i*M\)
对于第\(k\)个方程组,我们就是要求\(t\),使得\(x+t*M\equiv a_k(mod\;m_k)\)
转化一下上述式子,\(t*M\equiv a_k-x(mod\;m_k)\)
用\(exgcd\)解出\(t\),\(x_k=t*M+x\)