写一下中国剩余定理的证明

中国剩余定理

简单记录一下推倒过程吧。

搞这种方程的。

\(x\%m_1=c_1,x\%m_2=c_2,x\%m_3=c_3..........\)

EXCRT

先来表演,将两个方程合并:
\(x\%m_1=c_1\), \(x\%m_2=c_2\)

Duang!Duang!

\(x=k_1m_1+c_1=k_2m_2+c_2\)

\(k_1m_1-k_2m_2=c_2-c_1\)

\(g=gcd(m_1,m_2)\),有\(k_1\frac{m_1}{g}-k_2\frac{m_2}{g} = \frac{c_2-c_1}{g}\)

在模\(\frac{m_2}{g}\)系下:\(\frac{m_1}{g}k_1= \frac{c_2-c_1}{g}\)

解得\(k_1=\frac{c_2-c_1}{g}*inv(\frac{m_1}{g},\frac{m_2}{g}) + k\frac{m_2}{g}\)

\(x=[\frac{c_2-c_1}{g}*inv(\frac{m_1}{g},\frac{m_2}{g}) m_1+c_1]+k\frac{m_1m_2}{g}\)

好了,两个同余方程就这么合并了。然后我们对于那\(n\)个方程合并\(n-1\)次,就是EXCRT了

emmm. 同余方程的合并和生成树这种东西,是不是可以珠联璧合。然后搞出什么有趣的东西啊。

CRT

这个一点也不好用,还得保证\(m_1,m_2...\)两两互质。

有种暴力构造的感觉。

直接给答案啦\(x=\sum c_i\frac{M}{m_i}inv(\frac{M}{m_i},m_i)\)

因为在模\(m_i\)系下\(\frac{M}{m_i}inv(\frac{M}{m_i},m_i)=1\)

所以当且仅当\(i=x\)时,\(c_i\frac{M}{m_i}inv(\frac{M}{m_i},m_i)\%m_x=c_x\),否则\(c_i\frac{M}{m_i}inv(\frac{M}{m_i},m_i)\%m_x=0\)

问:为什么要求两两互质啊?

答:不互质,求个锤子逆元吖!

posted @ 2018-10-02 02:01  RUSH_D_CAT  阅读(627)  评论(0编辑  收藏  举报