原题链接:hdu 1576 A/B同样是用扩展的欧几里得算法。$A = 9973k+n = xB$从而转化为:$xB-9973k=n$求解$x$即可。具体扩展欧几里得算法请参考:hdu 2669 Romantic代码如下: 1 #include 2 #include 3 #include 4 ...
分类:
其他好文 时间:
2014-10-06 16:16:00
阅读次数:
214
1009:数论 扩展欧几里得算法1010:高精+细心模拟1011:记忆化搜索1009:扩展欧几里得其实自己对扩展欧几里得算法一直很不熟悉...应该是因为之前不太理解的缘故吧这次再次思考,回看了某位大神的推导以及某位大神的模板应该算是有所领悟了首先根据题意:L1=x+mt; L2=y+nt;可知当两人...
分类:
其他好文 时间:
2014-08-24 11:33:12
阅读次数:
284
题目链接:
啊哈哈,点我点我
这道题是扩展欧几里得问题。。。哎,数学太弱了,看了半天才看懂。。。。
如果要相遇的话,则(n-m)*T+p*c=x-y成立,那么进行代换得到a*x+b*y=c,那么就转换成小白上面讲的了,所以用扩展欧几里得算法求得一组解,那么最后得到解的通式为x=x0+k*b/gcd(a,b),那么直接另右式子等于0及可。。还有就是没有解的情况就是c%gcd(a,b)不等于...
分类:
其他好文 时间:
2014-08-18 22:04:43
阅读次数:
181
本来数学就不好,看到LRJ的数学专题直接跪了,上网百度了一下才知道扩展欧几里德算法的证明过程。
首先说一下朴素欧几里德算法,就是辗转相除法,很简单。
int gcd(int a,int b){
return b == 0 ? a : gcd(b,a % b);
}
下面主要说一下扩展欧几里得算法。
给出a,b 求 x,y使得 a * x + b * y = gcd(a,b);...
分类:
其他好文 时间:
2014-08-11 12:09:12
阅读次数:
202
扩展欧几里得算法及其应用
一、扩展欧几里得算法
扩展欧几里得算法:对于不完全为 0 的非负整数 a,b,若gcd(a,b)表示 a,b 的最大公约数,必然存在整数对x,y ,使得 ax+by = gcd(a,b)。
算法过程:
设 a>b,当 b=0时,gcd(a,b)=a。此时满足ax+by = gcd(a,b)的一组整数解为x=1,y=0;当a*b!=0 时,
设 a*x1+b*...
分类:
其他好文 时间:
2014-08-08 18:14:06
阅读次数:
341
Description
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面...
分类:
其他好文 时间:
2014-08-04 21:40:48
阅读次数:
207
之前已经完成了大整数的表示、绝对值的比较大小、取负值、加减法运算、乘法运算以及除法和余数运算。具体见我的主页前三篇博客(自己动手写Java 系列 )。
这篇博客添加求大整数GCD、扩展欧几里得算法和求Mod逆的算法。...
分类:
编程语言 时间:
2014-07-29 15:06:48
阅读次数:
399
题目:http://poj.org/problem?id=2115
题意:对于C的for(i=A ; i!=B ;i +=C)循环语句,问在k位存储系统中循环几次才会结束。若在有限次内结束,则输出循环次数。否则输出死循环。
思路:这道题是一个扩展欧几里德算法的拓展,求单变元模线性方程 即:Cx=(B-A)(mod 2^k)
扩展欧几里得算法和单变元模线性方程(传送门) + 比较详细的博...
分类:
其他好文 时间:
2014-07-27 11:31:23
阅读次数:
199
一、题目POJ 1061 青蛙的约会【关于“欧几里得求最大公约数”和“扩展欧几里得算法”的题目】二、题目源程序#include using namespace std;#define LL long longLL gcd(LL a, LL b){ return b ? gcd(b, a%b)...
分类:
其他好文 时间:
2014-07-22 22:34:36
阅读次数:
253