我理解的中国剩余定理的含义是:给定一个数除以一系列互素的数${p_1}, \cdots ,{p_n}$的余数,那么这个数除以这组素数之积($N = {p_1} \times  \cdots  \times {p_n}$)的余数也确定了,反之亦然。

用表达式表示如下:

\[\begin{array}{l}
x \equiv {a_1}(\bmod {p_1})\\
{\rm{     }} \vdots \\
x \equiv {a_n}(\bmod {p_n})
\end{array}\]

那么任何满足条件的x对于模N都是同余的。

其中满足条件的最小的x可以表示为:

\[x = {a_1}{b_1}\frac{N}{{{p_1}}} +  \cdots  + {a_n}{b_n}\frac{N}{{{p_n}}}\]

其中,${b_i}$为$\frac{N}{{{p_i}}}$模${p_i}$的数论倒数(即${b_i}\frac{N}{{{p_i}}} \equiv 1(\bmod {p_i})$)

用映射关系也可以表示为:

\[x\bmod N \mapsto (x\bmod {p_1},...,x\bmod {p_n})\]

这个性质可以推广到任何可交换环。实际上定义了一个环同构(ring isomorphism)。如在整数环上:

\[\mathbb{Z}/N\mathbb{Z} \cong \mathbb{Z}/{p_1}\mathbb{Z} \times  \ldots  \times \mathbb{Z}/{p_1}\mathbb{Z}\]

这意味着,在$\mathbb{Z}/N\mathbb{Z}$上的一系列算术操作可以在每个$\mathbb{Z}/{p_i}\mathbb{Z}$上分开做,再利用同构得到结果。

后面补充一些最近看的关于数论的知识。

  1. 环和理想(Rings and Ideals)

  $R$是一个环,$R$的理想$I$是$R$中的一个非空子集,对于加法以及$R$中任一元素的乘法是封闭的。

即,对于所有的$a,b \in I$,都有$a + b \in I$;对于所有的$a\in I$,以及所有的$r \in R$,都有$ar \in I$.

  主理想(Principal Ideal)是由单个元素产生的(R中的单个元素与R中的每个元素相乘产生)。若一个环中所有的理想都是主理想,那么这个环称为主理想环(Principal Ideal Ring,PIR)。若两个元素$a$和$b满足$a - b \in I$,那么说它们模$I$同余。

  商环(quotient ring) $R/I$是通过在$R$上定义$I$的陪集上进行加法和乘法操作得到的:

\[\left( {a + I} \right) + \left( {b + I} \right) = \left( {a + b + I} \right),\left( {a + I} \right) \times \left( {b + I} \right) = \left( {ab} \right) + I\]

  举个例子,整数域$\mathbb{Z}$是环,$2\mathbb{Z}$相当于由2产生的一个主理想。$\mathbb{Z}/2\mathbb{Z}$是一个对应的商环。

  2.主理想整环(Principal Ideal Domain,PID)

  整数域$\mathbb{Z}$就构成一个PID。典型的例子还包括高斯整数 $\mathbb{Z}[i] \buildrel \Delta \over = \left\{ {a + bi:a,b \in \mathbb{Z}} \right\}$和艾森斯坦整数(Eisenstein integer) $\mathbb{Z}[\omega] \buildrel \Delta \over = \left\{ {a + b\omega:a,b \in \mathbb{Z}} \right\}$.

  高斯整数在复平面上构成了一个正方形点阵,而艾森斯坦整数在复平面上构成了一个三角点阵。高斯整数有四个单位元$\left\{ { \pm 1, \pm i} \right\}$,艾森斯坦整数有六个单位元$\left\{ { \pm 1, \pm \omega , \pm {\omega ^2}} \right\}$

中国剩余定理(Chinese Remainder Theorem)的更多相关文章

  1. Chinese remainder theorem again(中国剩余定理)

    C - Chinese remainder theorem again Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:% ...

  2. hdu 1788 Chinese remainder theorem again(最小公倍数)

    Problem Description 我知道部分同学最近在看中国剩余定理,就这个定理本身,还是比较简单的: 假设m1,m2,-,mk两两互素,则下面同余方程组: x≡a1(mod m1) x≡a2( ...

  3. DHU 1788 Chinese remainder theorem again 中国剩余定理

    Chinese remainder theorem again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 ...

  4. HDU1788 Chinese remainder theorem again【中国剩余定理】

    题目链接: pid=1788">http://acm.hdu.edu.cn/showproblem.php?pid=1788 题目大意: 题眼下边的描写叙述是多余的... 一个正整N除 ...

  5. HDU——1788 Chinese remainder theorem again

    再来一发水体,是为了照应上一发水题. 再次也特别说明一下,白书上的中国剩余定理的模板不靠谱. 老子刚刚用柏树上的模板交上去,简直wa出翔啊. 下面隆重推荐安叔版同余方程组的求解方法. 反正这个版本十分 ...

  6. 【数论】【中国剩余定理】【LCM】hdu1788 Chinese remainder theorem again

    根据题目容易得到N%Mi=Mi-a. 那么可得N%Mi+a=Mi. 两侧同时对Mi取余,可得(N+a)%Mi=0. 将N+a看成一个变量,就可以把原问题转化成求Mi的LCM,最后减去a即可. #inc ...

  7. HDU 1788 Chinese remainder theorem again

    题目链接 题意 : 中文题不详述. 思路 : 由N%Mi=(Mi-a)可得(N+a)%Mi=0;要取最小的N即找Mi的最小公倍数即可. #include <cstdio> #include ...

  8. HDU 1788 Chinese remainder theorem again 中国剩余定理

    题意: 给定n,AA 以下n个数m1,m2···mn 则有n条方程 res % m1 = m1-AA res % m2 = m2-AA 问res的最小值 直接上剩余定理,嘿嘿 #include< ...

  9. Chinese remainder theorem

    https://en.wikipedia.org/wiki/Chinese_remainder_theorem http://planetmath.org/ChineseRemainderTheore ...

随机推荐

  1. Ajax工作原理

    在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景.原理.优缺点等各个方面都很少涉及null.这次写这篇文章的背景是因为公司需要对内部程序员做一个培训.项 ...

  2. GSM07.10协议中串口复用的注意事项

    DLCI:0通道(地址域中DLCI==0)是控制通道,用来传输管理信息.逻辑通道的建立和关闭,睡眠模式的启动和唤醒,流量控制等控制信息都是用该通道. DLCI:1~n通道是逻辑通道,用来传输用户数据. ...

  3. 使用VS2010编译Qt 5.6.1过程记录

    由于Qt官方发布的Qt 5.6.1二进制安装包没有对应VS2010版本的,而我的电脑上只安装了VS2010,因此只能自己编译. 本文记录本人的编译安装过程,以及其中遇到的一些问题. 本文使用VS201 ...

  4. python 装饰器的理解

    一. 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷 ...

  5. VS2015编译boost1.62

    VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...

  6. 移植一个cocos2d-x游戏

    1.编译的时候,如果遇到如下的提示信息: No rule to make target `jni/./../Classes/KeyBoardInput.cpp', needed by `obj/loc ...

  7. 魔镜VIP批量条形码视频教程

    需要购买者请登我的淘宝店,https://cdrapp.taobao.com/  优惠价哦!

  8. js下载项目中的文件

    项目中有一个连接是下载视频插件,放到服务器上,不能io输出,所以指定地址直接下载 <div id="objInfo"> <jsp:include page=&qu ...

  9. DateUtil(比较两个日期是否是同一天)

    1.比较两个日期是否是同一天 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date la ...

  10. Ruby混合类型

    当一个类拥有可以从多个父类继承的特点,类应该显示多重继承. Ruby没有直接支持多继承,但Ruby模块有另一个精彩使用.他们几乎消除多重继承的需要,提供了一个工厂,称为混入. 混合类型给一个精彩的控制 ...