听说这是数论中比较重要的部分了,一点点的总结吧。。一.线性同余方程与不定方程:单个一元线性方程求解方法:扩展欧几里得 exgcd模板:long long exgcd(long long a,long long b,long long &x,long long &y){ if(!b) { ...
分类:
其他好文 时间:
2014-09-22 20:09:43
阅读次数:
166
中国剩余定理是数论中的一个关于一元线性同余方程组的定理,说明了一元线性同余方程组有解的准则以及求解方法。又称为孙子定理,“韩信点兵”“求一术”“鬼谷算”“隔墙算”“剪管术”“秦王暗点兵”“物不知数”等名称。 例如:物不知数原文: 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何? 宋...
分类:
其他好文 时间:
2014-09-21 12:57:10
阅读次数:
335
note:n元线性同余方程因其编程的特殊性,一般在acm中用的很少,这里只是出于兴趣学了一下n元线性同余方程的概念:形如:(a1*x1+a2*x2+....+an*xn)%m=b%m ..................(1)当然也有很多变形,例如:a1*x1+a2*x2+...+an*x...
分类:
其他好文 时间:
2014-09-03 09:37:26
阅读次数:
207
#include #include #include #include using namespace std;const int MaxM=11;int a[MaxM],b[MaxM];void exgcd(int a,int b,int &d,int &x,int &y){ if(b==0){ ...
分类:
其他好文 时间:
2014-08-29 21:16:08
阅读次数:
227
线性同余方程组,模板了。但要注意读完数据才跳出循环啊#include #include #include #include using namespace std;void exgcd(__int64 a,__int64 b,__int64 &d,__int64 &xx,__int64 &yy){ ...
分类:
其他好文 时间:
2014-08-29 17:37:38
阅读次数:
162
1.求gcd,算法为欧几里德(辗转相除法)2.解一元二次方程,算法为扩展欧几里德3.求素数,算法为埃氏筛法4.快速进行幂运算,算法快速幂(反复平方)5.解线性同余方程,求逆元(基于exgcd)6.其它用来优化模运算的定理,欧拉定理(费马小定理),相应的函数欧拉函数
分类:
其他好文 时间:
2014-08-07 12:49:39
阅读次数:
239
#includeint extended_gcd(int a,int b,int &x,int &y){ int r,t; if(!b) { x = 1; y = 0; return a; } r = extended_gcd(...
分类:
其他好文 时间:
2014-08-06 11:44:11
阅读次数:
268
两只青蛙跳一次所花费的时间相同,我们设其为t,则x+mt是青蛙A从坐标原点到终点所走的距离,y+nt是B走的距离,要想碰面,则他们相减一定是地面周长的整数倍,设为k*L;则:(x+mt)-(y+nt)=kl;变形得:(m-n)t-(y-x)=kL;即有(m-n)t mod L=y-x;为线性同余方程...
分类:
其他好文 时间:
2014-07-23 12:27:36
阅读次数:
259
解法:直接上模版。
扩展欧几里德的模版:
typedef long long LL;
LL ex_gcd(LL a,LL b,LL &x,LL &y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
LL d=ex_gcd(b,a%b,x,y);
LL t=x;
x=y;...
分类:
其他好文 时间:
2014-06-08 16:56:35
阅读次数:
228