题目: http://poj.org/problem?id=2115
要求: 会求最优解,会求这d个解,即(x+(i-1)*b/d)modm;(看最后那个博客的链接地址)
前两天用二元一次线性方程解过,万变不离其宗都是利用扩展欧几里得来接最优解。
分析:
数论了解的还不算太多,解的时候,碰到了不小的麻烦。
设答案为x,n = (1<<k), 则 (A+C*x) % n == B
即 (A+C*x) ≡ B (mod n)//-----结果显而易见两边的(a+cx)%n==b<n
化简得 C*x ≡ (B-A) (mod n)//----同余模的性质a-c==b-c(mod n)在a==b(mod n)的前提下
自己晕了,还是掌握的不好,和之前的代码一样,只是推导的方法多了一种。
一元线性同余方程:形如 ax==b%m;