前置知识

  • 矩阵乘法
  • 矩乘快速幂

领接矩阵k次方的意义

因为我不知道怎么证明这个,就直接告诉你,若 $A$ 是一个领接矩阵,那么 $A^{n}_{i,j}$ 的意义为点 i,到达点 j 长度为 k 的路径数量。

是不是看着就觉得很好用

但是很显然 k 比较大的时候我们不可能一层一层乘上去。所以可以考虑矩乘快速幂优化。

长度小于等于k的路径计数

考虑建立虚点,使原始点与之连边,并使虚点对自己建立自环,

这样,长度小于k的方案数会通过进入虚点自环计入最后的答案。如果直接把原始点的自环连接起来,可能点在自环之后再继续遍历,导致方案数偏大。

最后统计答案就是 k 次方的领接矩阵上原始起点到原始终点,以及原始起点到虚点终点的方案数之和。