随笔分类 - --------gcd&扩展gcd
摘要:1、给定 y、z、p,计算y^z mod p的值; 2、给定 y、z、p,计算满足xy≡z(mod p)的最小非负整数 ; 3、给定y、z、p,计算满足y^x≡z(mod p)的最小非负整数 。第一问不说,第二问请看 同余方程 主要说第三问第三问是经典的离散对数(...
阅读全文
摘要:给定一个N,求出所有1到N之间的x,使得x^2=1(mod N)。将这个式子变形(x-1)(x+1)=0(MOD P) ,那么就可以枚举P的每一对因数(a,b),我们把方程化为ax*by=P*T(T为任意常数)那么这里ax,by必须满足ax-by=2,这个可以用扩展g...
阅读全文
摘要:给定一个N,求出所有1到N之间的x,使得x^2=1(mod N)。将这个式子变形(x-1)(x+1)=0(MOD P) ,那么就可以枚举P的每一对因数(a,b),我们把方程化为ax*by=P*T(T为任意常数)那么这里ax,by必须满足ax-by=2,这个可以用扩展g...
阅读全文
摘要:关于扩展gcd其实没有必要搞懂,背下来就好了如果不会的自行学习对于方程ax=b(mod M),我们可以将其化简成为ax+My=b,让后用扩展gcd求解当b|r=gcd(a,M)时,方程有r个解,否则无解,对于有解的情况,每个解为用gcd求出的x乘上b/r+k*(M/r...
阅读全文
摘要:关于扩展gcd其实没有必要搞懂,背下来就好了如果不会的自行学习对于方程ax=b(mod M),我们可以将其化简成为ax+My=b,让后用扩展gcd求解当b|r=gcd(a,M)时,方程有r个解,否则无解,对于有解的情况,每个解为用gcd求出的x乘上b/r+k*(M/r...
阅读全文
摘要:正解:同余方程对于每对野人i,j,解方程(p[i]-p[j])=c[j]-c[i](mod Answer) 若在min(l[i],l[j])以内有解则不行(++ANS)否则可以#include#includeusing namespace std;int c[20],...
阅读全文
摘要:正解:同余方程对于每对野人i,j,解方程(p[i]-p[j])=c[j]-c[i](mod Answer) 若在min(l[i],l[j])以内有解则不行(++ANS)否则可以#include#includeusing namespace std;int c[20],...
阅读全文