HDU 1573 X问题 (中国剩余定理解的个数)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove

明显是求中国剩余定理解的个数 。

中国剩余定理不太会用了,囧。。。。用三个等号表示同余

N===a1(mod r1)

N===a2(mod r2)

以两个为例,则x=a1+r1*x=a2+r2*y,根据后两者就可以建立方程  r1*x-r2*y=a2-a1,扩展欧几里德可搞。

解出x之后 可知N=a1+r1+x,明显这是其中一组解,N+K*(r1*r2)/gcd都是解。

如果有多个,则两两求,新的式子可以写成N===(a1+r1*x)(mod (r1*r2)/gcd)。

最终解出一个答案为b1,循环为a1

#include
#include
#include
#include
#include
#include
#define LL  long long
#define MOD 1000000007
#define eps 1e-6
#define N 100010
#define zero(a)  fabs(a)


你可能感兴趣的:(ACM_数学类)