C Looooops POJ - 2115

数论好题。。 香!

首先我们看到这一题, 题意是
\[ a + c * x \equiv b (mod \ \ 2 ^ k)\]
对此式移一下项, 得
\[ c * x \equiv b - a (mod \ \ 2 ^ k)\]
此时原式为标准线性同余方程。
\(exgcd\)解得\(x\)后,x 要做如下处理 :
\(g = gcd(b - a, 2 ^ k), k = 2 ^ k, d = b - a\)
1#. \(x = x * (d / g)\), 此时求得一组特解(因为\(exgcd\)解出的是\(RHS = gcd\)时的解,所以需要乘倍数)
2#. \(x = (x \% (k / g) + k / g) % (k / g)\), 此时求得最小正整数解。
\(\text{TIP : 1. 本题无需开int64 2. 1# 无需加%k}\)

猜你喜欢

转载自www.cnblogs.com/yangxuejian/p/11992466.html