这里找规律等等可以通过此题的方法不在介绍,仅介绍 std 做法。
前置芝士
Matrix-Tree 定理。
列出
n+1 个点
k 阶轮的 Laplace 矩阵,再删掉中心点所在行列,最终答案即为该矩阵的行列式。
常规做法
答案只需计算如下矩阵的行列式,其中主对角线上的值
ai,i 在
i 是
k 的倍数时为
3,否则为
2。
2−1⋮−1−12⋮0⋯⋯⋱⋯−10⋮3
该行列式可以拆成四部分:
00⋮−1−12⋮0⋯⋯⋱⋯00⋮0+0−1⋮002⋮0⋯⋯⋱⋯−10⋮0+2−1⋮0−12⋮0⋯⋯⋱⋯00⋮3+00⋮−102⋮0⋯⋯⋱⋯−10⋮0
其中前两项的答案均为
−1,后两项行列式满足如下形式:
a1,1−1⋮0−1a2,2⋮0⋯⋯⋱⋯00⋮an,n
记
Δn 表示
n×n 的矩阵的行列式,有性质
Δn=an,nΔn−1−Δn−2,可以用矩阵快速幂优化,复杂度
O(logn)。