C Looooops POJ - 2115

陌路散爱 提交于 2019-12-06 15:18:48

数论好题。。 香!

首先我们看到这一题, 题意是
\[ 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}\)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!