扩展中国剩余定理学习笔记

题目链接:https://www.luogu.org/problemnew/show/P4777


 

以下部分内容可自动忽略:

回忆起来都是泪啊
当时知道大致的思路之后看了下别人的代码,没想到在误导理解到歧途上越走越远
最开始看到某位的大佬的博客中的这句话:

这种情况就采用两两合并的思想,假设要 合并 如下两个方程:

然后我以为这样没有其他限制两个方程就可以真的合并成一个方程了 

推公式和证明搞了好久

然后又看到某位大佬在洛谷上的这句话

想着嗯  一定是这样

然后我的整个下午和中午就那么没了
后来越推越不对劲
最后经过漫长的一番哲学思考后
突然发现了真相  开始自闭


 

正文:

扩展中国剩余定理还是和原来的有一定相同的地方
在原来的里面枚举每个方程单独处理 

为了不使方程与方程相互干扰
所以处理每个方程式都从所有模数的最小公倍数在除以自身的模值开始找(lcm*x+p*y=z)
最后再把每个方程的解加起来 处理成%LCM意义下的最小正数扩展的中国剩余定理也用了这样的思想

它按顺序处理每一个 
使在处理每个方程式既满足前面的条件又使它自身不影响前面的
也吧每个算出的值加起来
如 
x=a1+b1*k1;(1)

x=a2+b2*k2;(2)

第一个解最小正整数为a1

在处理第二个方程时

根据前面的限制 

所以 x=a1+b1*k1=a2+b2*k2——>b1*k1+b2*k2=a2-a1(因为k值可变化   所以移过来可直接用正的)
此时二方程可转化为如上  但是(1)的要求限制还在  因为后来是式子由(1)推来

这样(2)式解出来的也满足(1)

未完  留坑待补。。。

 

posted @ 2019-02-02 01:35  1436177712  阅读(120)  评论(0编辑  收藏  举报