传送门 为啥我就没看出来有循环节呢-- 打表可得,这个数列是有循环节的,循环节为\(10^9+6\),然后分块预处理,即取\(k=sqrt(10^9+6)\),然后分别预处理出转移矩阵\(A\)的\(A^1,A^2,...,A^{k-1}\)和\(A^k,A^{2k},...\),那么每一次就能\(O(1)\)回答询问了 注意常数问题--这份代码勉强卡过--建议矩阵里的元素别开数组直接用四个变量存会快一点-- //minamoto #include<bits/stdc++.h> #define…