矩阵快速幂+二分求前n项和
矩阵快速幂是有模板的,多做几道题就会理解,前提是要会快速幂取模;
之所以用二分是因为求和的过程:A^1+A^2...+A^(k-1)+A^k, k是1e9的,所以暴力求和肯定会TLE,在网上找到
了二分求矩阵和的方法;
公式为 (1+A^(k/2))*(A+A^2+..+A^k/2) 的,所以可以写成二分递归,如果k为奇数的话,sum就加上A^k(k为当
前的k值,不再是最初的值),反正是个公式,你要不信的话可以证明一下,所以就贴代码了,感觉到姿势不够优美
呀。
#include