码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-10-02 13:53:19      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:strong   剩余定理   要求   str   直接   mat   同余   math   好用   

中国剩余定理

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

搞这种方程的。

\(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\)

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

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

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

标签:strong   剩余定理   要求   str   直接   mat   同余   math   好用   

原文地址:https://www.cnblogs.com/RUSH-D-CAT/p/9736224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!