codeforces 963A Alternating Sum

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)\)。得证。

posted @ 2018-04-18 11:18  yuanyuan-97  阅读(222)  评论(0编辑  收藏  举报