随笔分类 -  GCD及其扩展GCD

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1576这是一道扩展GCD题,只要找出方程就可以用模板了,n=A%9973可以得到A=9973*y+n,设A/B=x,所以A=B*x;可以得到方程B*x-9973*y=n,解方程就可以了,若有不明白的地方请看http://www.cnblogs.com/yuelingzhi/archive/2011/08/13/2137582.html代码:View Code #include <stdio.h>#include <stdlib.h>#include <string.h>#i 阅读全文
posted @ 2011-08-17 00:02 ○o尐懶錨o 阅读(531) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2669这是一道纯模板的扩展GCD,直接求a*x+b*y=1就可以了,我们直接用模板,不过还要注意数的大小超过int,用__int64即可,若有不懂的地方请看http://www.cnblogs.com/yuelingzhi/archive/2011/08/13/2137582.html代码:View Code #include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>__in 阅读全文
posted @ 2011-08-16 22:39 ○o尐懶錨o 阅读(477) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2115这是一道线性同余方程,式子为:c*x=(b-a)%(2^k)可化为c*x+(2^k)*y=b-a;但是首先我们得保证c是正数才可以用扩展GCD;故此时,我们应做(b-a)%(2^k)+(2^k)即可,用模板酒很简单了,最后被卡在1<<k是默认为int型必须强制转化问long long,为了这个wa很多次,翻遍了解题报告总算发现错误了。。。View Code #include <stdio.h>#include <stdlib.h>#include <string.h>#include & 阅读全文
posted @ 2011-08-15 12:00 ○o尐懶錨o 阅读(205) 评论(0) 推荐(1)
摘要:http://poj.org/problem?id=1061这是一道扩展GCD的题,说要学习说了好久,总算学会了,得感谢旭娃神牛啊,我一开始不懂为什么要用s*c及其s+b直到s>0,那我就一一解释:1、s*c是因为我们把方程转化为a‘*x+b’*y=1计算实际方程是a*x+by=c;2、s求得只是其中一个解,而s的解无数,s=s0+b*t(t代表正整数);故我们只要加b直到s>0即可,特别注意上诉b,c都是除以gcd(a,b)后的b,c,有不理解的请看:http://www.cnblogs.com/yuelingzhi/archive/2011/08/13/2137582.html 阅读全文
posted @ 2011-08-14 19:56 ○o尐懶錨o 阅读(273) 评论(0) 推荐(1)
摘要:扩展欧几里德算法-求解不定方程,线性同余方程。 设过s步后两青蛙相遇,则必满足以下等式: (x+m*s)-(y+n*s)=k*l(k=0,1,2....) 稍微变一下形得: (n-m)*s+k*l=x-y令n-m=a,k=b,x-y=c,即 a*s+b*l=c 只要上式存在整数解,则两青蛙能相遇,否则不能。 首先想到的一个方法是用两次for循环来枚举s,l的值,看是否存在s,l的整数解,若存在则输入最小的s,但显然这种方法是不可取的,谁也不知道最小的s是多大,如果最小的s很大的话,超时是明显的。 其实这题用欧几里德扩展原理可以很快的解决,先来看下什么是欧几里德扩展原理: 欧几里德算法又称辗转相 阅读全文
posted @ 2011-08-13 22:26 ○o尐懶錨o 阅读(7674) 评论(0) 推荐(5)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2104这道题看很久啊,意思是n个人围成一个圈,大家玩丢手帕游戏,手帕藏在某一个人的箱子里,Haha来找,每一次他都会跳过m-1个人。问你Haha是不是一定能找到手帕。因为Haha找的次数是无限的,可以永远找下去,所以,只要他能把所有的人都找一遍就一定能找到。但按照他的这种找法,如果n和m不互质的话,不互质就会出现某些人是永远不会找。所以看一下 n和m的最大公约数就行了代码:#include <stdio.h>#include <string.h>#include <stdlib. 阅读全文
posted @ 2011-08-13 21:05 ○o尐懶錨o 阅读(1196) 评论(1) 推荐(1)