中国剩余定理(Chinese Remainder Theorem)
我理解的中国剩余定理的含义是:给定一个数除以一系列互素的数${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}$上分开做,再利用同构得到结果。
后面补充一些最近看的关于数论的知识。
- 环和理想(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)的更多相关文章
- Chinese remainder theorem again(中国剩余定理)
C - Chinese remainder theorem again Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:% ...
- hdu 1788 Chinese remainder theorem again(最小公倍数)
Problem Description 我知道部分同学最近在看中国剩余定理,就这个定理本身,还是比较简单的: 假设m1,m2,-,mk两两互素,则下面同余方程组: x≡a1(mod m1) x≡a2( ...
- DHU 1788 Chinese remainder theorem again 中国剩余定理
Chinese remainder theorem again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...
- HDU1788 Chinese remainder theorem again【中国剩余定理】
题目链接: pid=1788">http://acm.hdu.edu.cn/showproblem.php?pid=1788 题目大意: 题眼下边的描写叙述是多余的... 一个正整N除 ...
- HDU——1788 Chinese remainder theorem again
再来一发水体,是为了照应上一发水题. 再次也特别说明一下,白书上的中国剩余定理的模板不靠谱. 老子刚刚用柏树上的模板交上去,简直wa出翔啊. 下面隆重推荐安叔版同余方程组的求解方法. 反正这个版本十分 ...
- 【数论】【中国剩余定理】【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 ...
- HDU 1788 Chinese remainder theorem again
题目链接 题意 : 中文题不详述. 思路 : 由N%Mi=(Mi-a)可得(N+a)%Mi=0;要取最小的N即找Mi的最小公倍数即可. #include <cstdio> #include ...
- HDU 1788 Chinese remainder theorem again 中国剩余定理
题意: 给定n,AA 以下n个数m1,m2···mn 则有n条方程 res % m1 = m1-AA res % m2 = m2-AA 问res的最小值 直接上剩余定理,嘿嘿 #include< ...
- Chinese remainder theorem
https://en.wikipedia.org/wiki/Chinese_remainder_theorem http://planetmath.org/ChineseRemainderTheore ...
随机推荐
- mkdir创建目录
mkdir:make directories(创建目录) 创建目录的首要条件:在当前目录或者欲创建目录下,该用户具有写入权限,mkdir详细功能如下: 1.mkdir不接任何参数时,即mkdir di ...
- dotNet平台模板列中的单选无效的解决方案
最近在grid里添加一个单选列,最开始直接创建一个模板列,然后在模板列里放一个radiobutton.并指定其GroupName.这是radiabutton最常用的方法.但是在Grid里,这样却毫无效 ...
- ctypes 调用 dll
1. 加载 Windows API 和 C 运行库 先看例子 from ctypes import * u32 = windll.LoadLibrary('user32.dll') #加载user32 ...
- 【Unity3d】火炬之光的X射线效果
http://www.cnblogs.com/dosomething/archive/2012/04/03/2431149.html 人物和摄像机之间存在例如墙壁等的阻挡时 可以修改阻挡材质的alp ...
- Android M(6.0) 权限相关
原文链接:http://jijiaxin89.com/2015/08/30/Android-s-Runtime-Permission/ Android M 新的运行时权限开发者需要知道的一切 an ...
- 在WPF中使用WinForm控件方法
1. 首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll. 2. 在要使用WinForm控 ...
- iOS 编译时处理器架构选择
先看看主流的ios设备的架构 armv6 iPhone iPhone2 iPhone3G 第一代和第二代iPod Touch armv7 iPhone4 iPhone4S armv7s iPhone5 ...
- appium V1.5.x变化
使用 npm安装 appium之后,会发现已经进入1.5 [Appium] Welcome to Appium v1.5.0 [Appium] Appium REST http interface l ...
- 「C++」理解智能指针
维基百科上面对于「智能指针」是这样描述的: 智能指针(英语:Smart pointer)是一种抽象的数据类型.在程序设计中,它通常是经由类型模板(class template)来实做,借由模板(tem ...
- Python: Win7 64位如何安装MongoDB?
Windows 7 64位安装MongoDB 官网tutorial: https://docs.mongodb.com/v3.0/tutorial/install-mongodb-on-window ...