codeforces 963A Alternating Sum
题解
计算前 (k) 项的和,每 (k) 项的和是一个长度为 ((n+1)/k) ,公比为 ((a^{-1}b)^k) 的等比数列。
当公比为 (1) 时,不能用等比数列求和公式。
什么时候公比为 (1) ?
当 (a=b) 时,(a^{-1}b=1(mod p))
当 (a=p-b) 时,(a^{-1}b=(p-b)^{-1}b=-1(mod p)),如果此时 (k) 是偶数,公比就是 (1) 。
证明:令 (x=(p-b)^{-1}),则 (x*(p-b)=1(mod p)),(x*-b=1(mod p)),(x*b=-1(mod p))。得证。