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


题目链接: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)

未完 留坑待补。。。

优质内容筛选与推荐>>
1、mssql自定义函数中使用游标
2、Java路线图明细
3、基础知识
4、System.IO.Pipelines——高性能IO(一)
5、Elasticsearch学习之深入聚合分析三---案例实战


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号