题目链接:https://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1242&pid=4
解法:题中给是求一个等比数列的前n项和取模(1e9+7),已知等比数列前n项求和公式为\(s=\frac{a_1(q^n-1)}{q-1}\),现在求前n+1项即可,q==1的时候特判断。但是比较麻烦的是需要取模,也就是我们要求的结果实际是\(s=\frac{q^{n+1}-1}{q-1}\ mod\ (1e9 + 7)\),注意我们求\(q^{n+1} - 1\)时是使用的快速幂算法,已经取过模了,如果与\(q-1\)相除再求模结果会错,所以我们要把\(\frac{x}{y}\ mod\ p\)的形式改为等价的\(x*z\ mod\ p\)的形式。
替换的方法:(参考于http://blog.youkuaiyun.com/mengxiang000000/article/details/53468865)
逆元的定义