中国剩余定理小结 (互质,非互质) (poj 1006,hdu 3579)
来源:互联网 发布:redvelvet mv知乎 编辑:程序博客网 时间:2024/06/09 20:50
中国剩余定理小结 (互质,非互质) (poj 1006,hdu 3579)
先证明下中国剩余定理
条件:
x%m_1=a_1
x%m_2=a_2
...
x%m_n=a_n
m_1,m_2,...,m_n两两互质
证明:
设M=m_1*m_2*m_3*...*m_n
M_i=M/m_i
因为gcd(M_i,m_i)=1,所以M_ix+m_iy=1
(t_i*M_i)%m_i=1 //由Ext_gcd(M_i,m_i,x,y)求出,t_i=x
方程组的解:x=a_1*t_1*M_1+...+a_n*t_n*M_n
题目:poj 1006
http://poj.org/problem?id=1006
题意:
现在有三条式子:
x%23=a1
x%28=a2
x%33=a3
现在求最小的整数(x-d)
限制:
0 <= d <= 365
在说下非互质情况下的中国剩余定理
证明如下:
由于不两两互质,所以只能两个两个解。
设通解为N
->N=m1*k1+r1,N=m2*k2+r2
->m1*k1+r1=m2*k2+r2
->k1*m1+(-k2*m2)=r2-r1
->设a=m1,b=m2,x=k1,y=(-k2),c=r2-r1
->ax+by=c 通过 d=Ext_gcd(a,b,x,y) 得 d,x
->最小整数解x=(x*(c/d)%(b/d)+(b/d))%(b/d)
->N=a*(x+n*(b/d))+r1
->N=(a*b/d)*n+(a*x+r1)
->令m3=a*b/d,r3=a*x+r1,k3=n
->N=m3*k3+r3 化成了一个新的式子,不断迭代然后出结果。
题目:hdu 3579
http://acm.hdu.edu.cn/showproblem.php?pid=3579
题意:
给出m_1,m_2,...m_n;a_1,a_2,...,a_n,非互质中国剩余定理。
- 中国剩余定理小结 (互质,非互质) (poj 1006,hdu 3579)
- hdu 3579(中国剩余定理非互质)
- POJ 1006 中国剩余定理
- POJ 1006 中国剩余定理
- POJ 1006 中国剩余定理
- 中国剩余定理POJ 1006
- POJ 1006 ( 中国剩余定理 )
- POJ-1006(中国剩余定理)
- poj 1006-中国剩余定理
- poj 1006 中国剩余定理
- POJ 1006 中国剩余定理
- Poj 1006 中国剩余定理
- POJ 1006 中国剩余定理
- poj 1006 中国剩余定理
- poj-1006 中国剩余定理
- POJ 1006 中国剩余定理
- poj 1006 中国剩余定理
- POJ 1006: 中国剩余定理
- 代理ip采集器(1)
- NYOJ 题目708 ones(dp水)
- postgresql查询所有系统表,当前用户,当前时间戳
- Makefile文件编写
- android 内存泄露 /进程 内存检查 --DDMS工具
- 中国剩余定理小结 (互质,非互质) (poj 1006,hdu 3579)
- WCF发布,怎么把电脑名改为IP地址
- UVA 10635
- Codeforces Round #288 (Div. 2)(A,B,C)
- DirectX学习笔记--3D基本数学知识整理
- Random rand =new Random(47);
- 1071. Speech Patterns (25)
- 解决php的It is not safe to rely on the system’s timezone settings的问题
- HDU--IMNU集训三:C语言合法标识符 多用库函数 以及 scanf的相关巧用