题意描述
A+B
的结果,其中
∣A∣,∣B∣≤109。
解法说明
注意到这个式子非常困难,我们先考虑取一些素数
p,在模素数意义下的计算,最后再用 CRT 组合起来。
考虑
ab=(2a+b)−(2a)−(2b)
即
(2a)+(2b)=(2a+b)−ab
也就是说,如果我们能找到合适的
a,b,使得
(2a)≡A(modp),(2b)≡B(modp),就可以求出答案。
观察
(2a)=21a2−21a≡A(modp)
考虑求根公式
a≡21±2A+41(modp)
解一个二次剩余即可。
一个问题是二次剩余不一定存在,所以随机模数
p,并用 Miller-Rabin 算法判断即可。
还有问题是答案可能是负数,我们发现如果答案是负数,则算出来的答案会大于
2×109,此时将
A,B 同时取负,再计算答案即可。