static long x, y;
public static long exgcd(long a, long b)
{
if (b == 0)
{
x = 1;
y = 0;
return a;
}
long r = exgcd(b, a % b);
long t = x;
x = y;
y = t - a / b * y;
return...
分类:
其他好文 时间:
2014-08-03 12:50:15
阅读次数:
268
已知 a,b (a>=0,b>=0)
求一组解 (x,y) 使得 (x,y)满足
gcd(a,b) = ax+by
注意求出的 x,y 可能为0或负数
代码中g = gcd(a,b);
LL extend_gcd (LL a , LL b , LL &x , LL &y) {
if (b == 0) {
x = 1LL;
y = 0;...
分类:
其他好文 时间:
2014-06-22 08:38:36
阅读次数:
186
题目链接题意:扩展gcd模板: 1 #include 2 #include 3 #include 4
#include 5 #define LL long long 6 using namespace std; 7 8 void exgcd(LL a, LL
b, LL &d, LL &x...
分类:
其他好文 时间:
2014-06-07 07:50:13
阅读次数:
187
题意:求for(int i=a;i!=b;i+=c,i%=(1
解法:即求解C*x-(1C*x+K*y=b-a;如果g=gcd(C,K)不能被b-a整除,则说明无解。
用exgcd()求出一组C/g*x+K/g*y=1的解,然后两边乘上(b-a)/g将求出的x取最小正数输出。
代码:/*************************************...
分类:
其他好文 时间:
2014-05-21 07:09:42
阅读次数:
226
题意 :求一个最小的数对 23 38 33 于i p ezsd: 因为23 38 33
两两互素所以可以用中国剩余定理是中共剩余定理的经典模板#include using namespace std; int exgcd(int a,int
b,int &x,int &y) { i...
分类:
其他好文 时间:
2014-05-01 03:26:08
阅读次数:
286
模线性方程的基本应用#includeusing namespace std;int exgcd(int
a,int b,int &x,int &y){ if(b==0) { x=1; y=0; return a; } int d=ex...
分类:
其他好文 时间:
2014-04-30 14:33:27
阅读次数:
326
本文出自:http://blog.csdn.net/svitter
题意:青蛙绕圈跳, 初始位置X,Y,速度M,N,方向相反,L为模。最后能否相遇?相遇时间是什么?
本题目为扩展欧几里德,扩展欧几里德介绍:
关于扩展欧几里德方程
ax + by = c
(1)
可以用来求是否有解。即是否存在c满足这个方程。
exgcd(a, b, x, y)是用来求ax + by =...
分类:
其他好文 时间:
2014-04-29 13:38:21
阅读次数:
258