基础矩阵加速

本题单为矩阵加速基础全家桶
实际上基础的矩阵加速主要就两种

第一种就是线性递推式加速,较为一般的情况就是形如 x_{i+1}=ax_i+b 的一个柿子,构造如下初始矩阵

\begin{bmatrix}x_1&1\\x_0&1\end{bmatrix}

(有的时候 x_0 没有意义但是可以根据需要填一个数字,只要让 x_1=ax_0+b 即可)
构造以下转移矩阵

\begin{bmatrix}a&0\\b&1\end{bmatrix}

若题目是要求数列 {a_n} 的第 n 项,将转移矩阵快速幂 n 次方,再将初始矩阵乘以快速幂得到的结果矩阵,相应的位置即为数列的第 n

第二种就是图上的问题,一般问题为,定长路线,询问某点到另外一点的方案数,直接将邻接矩阵快速幂即可,指数为题目给出的定长路线的长度
可以参考这篇题解的讲解


  1. P3390 - 【模板】矩阵快速幂
  2. P1939 - 矩阵加速(数列)
  3. P1962 - 斐波那契数列
  4. P2044 - [NOI2012] 随机数生成器
  5. P2886 - [USACO07NOV] Cow Relays G
  6. P3758 - [TJOI2017] 可乐
  7. P5789 - [TJOI2017] 可乐(数据加强版)
  8. P2233 - [HNOI2002] 公交车路线
  9. P1397 - [NOI2013] 矩阵游戏
  10. P3216 - [HNOI2011] 数学作业
  11. P4159 - [SCOI2009] 迷路
  12. P2151 - [SDOI2009] HH 去散步
  13. P2579 - [ZJOI2005] 沼泽鳄鱼
  14. P4838 - P哥破解密码
  15. P1707 - 刷题比赛
  16. P5678 - [GZOI2017] 河神