无符号k位数溢出就相当于mod 2k,然后设循环x次A等于B,就可以列出方程: $$ Cx+A \equiv B \pmod {2^k} $$ $$ Cx \equiv B-A \pmod {2^k} $$ 最后就用扩展欧几里得算法求出这个线性同余方程的最小非负整数解。 1 #include<cst
分类:
其他好文 时间:
2016-02-03 20:01:31
阅读次数:
146
证明:这种问题用数学语言来说就是求整数x、y使得ax+by=1。不难发现,若gcd(a,b)!=1时必定无解,相反的,若gcd(a,b)=1那就必定有一整数对(x,y)满足ax+by=gcd(a,b),可以用扩展欧几里得算法对答案进行求解假设我们已经求得b*xt+(a%b)yt=gcd(b,a%b)...
分类:
编程语言 时间:
2016-01-25 16:29:52
阅读次数:
138
首先、扩展欧几里得定理:对于两个不全为0的整数a、b,必存在一组解x,y,使得ax+by==gcd(a,b);int gcd(int a,int b){ int t,d; if(b==0) { x=1; y=0; //不明处1return a; ...
分类:
编程语言 时间:
2015-10-27 17:38:06
阅读次数:
208
相信大家对欧几里得算法,即辗转相除法不陌生吧。代码如下:int gcd(int a, int b){ return !b ? gcd(b, a % b) : a;}而扩展欧几里得算法,顾名思义就是对欧几里得算法的扩展。切入正题:首先我们来看一个问题:求整数x, y使得ax + by = 1, ...
分类:
编程语言 时间:
2015-09-08 22:06:41
阅读次数:
197
1 欧几里得算法标准代码这个代码算的是符合a * x + b * y = gcd(a, b)的一组x, y, 同时返回了gcd(a, b)因为a * x1 + b * y1 = gcd(a, b) gcd(a, b) = gcd(b, a % b)那么a * x1 + b * y1 = gcd(b....
分类:
编程语言 时间:
2015-09-03 19:09:28
阅读次数:
166
扩展欧几里得算法是数论当中一种常用的算法,他可以用如下的姿势来表达:设a, b为不全为0的整数,则存在整数x和y,使得 gcd(a, b) = a*x + b*y。证明就略去。树上还有一个拉梅定理:用欧几里得算法计算两个正整数的最大公因子时,所需要的除法次数不会超过两个整数中较小的那个十进制数的倍数...
分类:
编程语言 时间:
2015-09-02 18:46:32
阅读次数:
307
题意:两只青蛙同向跳,起点是x,y,每次分别跳m,n米,地球周长是L,求最少跳几次相遇。
分析:
把式子写好就发现是一个一元一次同余方程。用扩展欧几里得算法来求。这题很基本得会。
代码:
#include
#include
#include
#include
#include
#include
#define INF 1000000007
using namespace std;
long...
分类:
编程语言 时间:
2015-08-14 06:30:49
阅读次数:
180
题意:给定for循环的初始值,结束值和增量,还有一个模,求最少的循环次数。
分析:
读完题后应该就知道是一个同余的概念,所以就是解一个一元一次同余方程,像上题一样用扩展欧几里得算法。这题的trick点是k最大为32,那么2^32超出了int,要用long long,所以在1
代码:
#include
#include
#include
#include
#include
#include
...
分类:
编程语言 时间:
2015-08-14 06:29:55
阅读次数:
177
对于 a 、b 不全为0,存在整数 x 和 y 使得 gcd(a,b)=x*a+y*b ; 整数。。。也就是可以使负的。 代码: 1 int exGcd(int a,int b,int &x,int &y) 2 { 3 if(b==0) 4 { 5 x=1; 6 y=0...
分类:
编程语言 时间:
2015-08-06 01:56:41
阅读次数:
126
这道题的思路是首先我们要列出一个方程:
设它们两个所走的步数为s,那么 x+ms-(y+ns)=kL ;这里k的意思是它们两个距离的差值必须是L的整数倍。
那么整理后可以得到:(n-m)*s+kL=x-y; 我们令a=n-m, b=L, d=x-y; 那么这个方程的形式不就相当于是一个扩展欧几里得的式子吗。
我们先求出 as1+bk1=gcd(a,b) 这个式子的特解,令c=gcd(a...
分类:
编程语言 时间:
2015-08-04 11:13:49
阅读次数:
257