`
digiter
  • 浏览: 120375 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

广义中国剩余定理

    博客分类:
  • ICPC
阅读更多
Generalized Chinese Remainder Theorem

来源:http://www.cut-the-knot.org/blue/chinese.shtml (IE only)

Theorem 1
引用

Two simultaneous congruences

  n = n1 (mod m1) and
  n = n2 (mod m2) 

are only solvable when n1 = n2 (mod gcd(m1, m2)). The solution is unique modulo lcm(m1, m2).

(When m1 and m2 are coprime their gcd is 1. By convention, a = b (mod 1) holds for any a and b.)

Proof
引用

By a generalization of the Euclid's algorithm, there are integers s and t such that

  tm1 + sm2 = gcd(m1, m2). 

Since n2 - n1 = 0 (mod gcd(m1, m2)), for some, possibly different t and s,

(2) tm1 + sm2 = n2 - n1. 

Then n = tm1 + n1 = -sm2 + n2 satisfies both congruences in the theorem. This proves the existence of a solution.

To prove the uniqueness part, assume n and N satisfy the two congruences. Taking the differences we see that

  N - n = 0 (mod m1) and N - n = 0 (mod m2) 

which implies N - n = 0 (mod lcm(m1, m2)).

As was previously stated, a more general theorem can now be proved by induction.


Theorem 2
引用

The simultaneous congruences (1)

  n = n1 (mod m1)
  n = n2 (mod m2)
...
n = nk (mod mk) 
are only solvable when ni = nj (mod gcd(mi, mj)), for all i and j, i ≠ j. The solution is unique modulo lcm(m1, m2, ..., mk).


具体算法:
首先以两个同余方程组成的方程组为例:
  n = n1 (mod m1) and
  n = n2 (mod m2)
有解的前提条件是gcd(m1, m2) | (n2 - n1)
1) 用扩展欧几里德算法计算t * m1 + s * m2 = gcd(m1, m2) = d
2) 计算tt, ss使其满足tt * m1 + ss * m2 = n2 - n1
具体方法是tt = t * (n2 - n1) / d,ss = s * (n2 - n1) / d
3) 那么nn = tt * m1 + n1 = -ss * m2 + n2 (这两个用哪个都行)
4) 我们已经把两个同余方程组变成了一个:
  n = nn (mod LCM(m1, m2))
重复这个过程,每次合并两个方程,就可以解决整个方程组了


update: 算法艺术与信息学竞赛第230页有讲解,很清晰
update2: 题目hdu1930 hdu1370 jlu1167
分享到:
评论

相关推荐

    广义中国剩余定理及其Maple解法

    ### 广义中国剩余定理及其Maple解法 #### 概述 本文探讨了广义中国剩余定理的应用以及如何使用Maple软件求解该定理中的问题。传统中国剩余定理要求模数两两互素,但在实际应用中,这种限制可能会带来不便。因此,广义...

    广义中国剩余定理及其Maple解法* (2004年)

    对于不要求模两两互素的一次同余式给出了相应的广义中国剩余定理及其程序解法。且计算速度快,尤其当模数很大时其高效性更加明显。

    基于中国剩余定理的理想秘密共享方案的构建

    ### 基于中国剩余定理的理想秘密共享方案构建 #### 概述 自1979年,阿多纳姆·莎米尔(Adi Shamir)和乔治·布拉克利(George Blakley)分别提出了(t, n)阈值秘密共享(Secret Sharing, SS)的概念以来,这种技术已经在...

    matlab开发-Chineseremindertheorem

    此外,还可以扩展到更复杂的情况,如多变量的中国剩余定理或者广义的中国剩余定理。 总之,MATLAB作为一种强大的工具,使得我们能够轻松地探索和应用像中国剩余定理这样的高级数学概念。通过实践和理解这些算法,...

    环Z_k上中国积码

    通常,标题“环Z_k上中国积码”表明这篇研究论文很可能关注数学编码理论中的中国剩余定理(Chinese Remainder Theorem, CRT)或其在环结构中的相关应用。环Z_k可能指的是模k整数环(即整数模k的剩余类构成的环)。...

    周期为4v(几乎)平衡理想二进制序列构造研究.docx

    3. **基于中国剩余定理的方法**:这种方法利用2阶分圆类和中国剩余定理来构建几乎差集,并据此得到周期为\(T = 4v\)(其中\(v \equiv 3(\mod 4)\))的理想二进制序列。此外,还可以通过结合一个完备二进制序列和任意...

    具有低命中区的最佳跳频序列集的新构造

    文章提出了两种基于分圆术、离散对数函数和中国剩余定理的新序列集,并证明了这些序列集达到了Peng-Fan-Lee界限,即它们是最优的。 综上所述,文章提出的新型跳频序列集,是通过数学理论与通信技术相结合的方法来...

    2006-2007初等数论教案.doc

    #### 3.4 中国剩余定理 - **中国剩余定理**: 解决了一组同余方程组的解的问题,该定理在密码学中有着广泛的应用。 #### 3.5 二次同余与原根 - **二次同余**: 形式为\(x^2 \equiv a \mod p\)的同余方程,其中\(p\)是...

    信息安全数学基础期末试卷及答案借鉴.pdf

    通过中国剩余定理,将大的模数m分解为其因子的乘积,然后分别解每个模的小同余方程,最后合并结果得到原同余方程组的解。 五、该题要求解满足2^x ≡ 5 (mod 7)的x值。通过逐个尝试x的值,我们可以找到满足条件的y值...

    一类长度为2p^2的二元序列的2-Adic复杂度研究.pdf

    在研究中,作者通过中国剩余定理(Chinese Remainder Theorem)和Zp上的“高斯周期”来计算Z2p2上的“高斯周期”。高斯周期是数论中的一个重要概念,它们在计算2-Adic复杂度时起到关键作用,因为它们可以帮助构建和...

    ACM新生课件

    - 中国剩余定理、数论逆元、费马小定理等高级理论; - 大数判断算法、数论函数等实用技巧。 - **组合论**: - 多重组合排列、广义容斥定理、一类鸽巢原理等基本概念; - 莫比乌斯反演、Lucas定理、Catalan ...

    蓝桥杯练习题

    - 数论:质因数分解、模运算、中国剩余定理。 - 广义欧几里得算法:求最大公约数和扩展欧几里得算法。 6. **逻辑思维与问题解决**: - 熟练阅读题目,理解题目要求,正确设定问题模型。 - 创造性地应用已知算法...

    C 经典算法集~~~~

    秦九韶算法,也称为中国剩余定理,是数论中的一个重要结果,用于解决同余方程组的问题。在现代密码学中,如RSA加密算法的实现,秦九韶算法有关键的应用。 以上算法的实现均在"C经典算法集"中,使用C语言编写,具有...

    Generalized general access structure in secret image sharing

    为了实现GGAS,文章设计了一种基于中国剩余定理(Chinese Remainder Theorem, CRT)的秘密图像共享方案。 中国剩余定理是一种在模运算下的定理,它可以在多个互质模数的同余方程组中找到一个解。在秘密图像共享领域...

    从爱因斯坦到霍金的宇宙课后习题答案简版.docx

    由于字数限制,下面是剩余的内容: ... ... 1.71 谁通过实验证明了光速在不同惯性系和不同方向上都是相同的? 答案:C 迈克尔逊 知识点:迈克尔逊是一个美国物理学家,他通过实验证明了光速在不同惯性系和不同...

    四川大学 初等数论 洪绍方 英文版

    - **中国剩余定理**: 提供了解决一系列同余方程的方法,其中模数两两互质。 #### §2.5 Systems of linear congruences - **线性同余方程组**: 多个线性同余方程的集合,通常求解它们的公共解。 #### §2.6 Some ...

    演绎法的论证

    在数学领域,演绎法是证明定理和解题的基石,而在日常生活中,我们也会不由自主地使用演绎法来对情况进行推理和判断。 ### 编程语言比例与版本发布 在描述中提到的“演绎法的求证”项目,包含了179个文件共计12万8...

    信息安全数学计算程序.zip

    信息安全数学数论部分计算程序,主要的计算几乎全有。 信息安全数学数论部分计算程序,主要的计算几乎全有。 信息安全数学数论部分计算程序,主要的计算几乎全有。 信息安全数学数论部分计算程序,主要的计算几乎...

Global site tag (gtag.js) - Google Analytics