拉格朗日插值求特征多项式 + 多项式取模.
$k\times k$ 的方阵 $M$ 的特征多项式 $f(x)=|xI-M|$ ,它是个 $k$ 次多项式,首项系数为 $1$ .
可以随便选 $k+1$ 个 $x$ ,代到多项式里,用高斯消元算出对应的 $f(x)$ .
然后利用拉格朗日插值得到特征多项式 $f(x)$ 的系数.
根据 $Cayley-Hamilton$ 定理, $f(M)=0$ ,
那么我们给 $M^n$ 加上任意多个 $f(M)$ 都不会影响答案,即 $M^n=M^n\bmod f(M)$ .
只需计算 $M^n\bmod f(M)$ ,两者都是关于 $M$ 的多项式,模数不是 $NTT$ 模数,多项式快速幂 + 暴力取模.
最终得到的 $M^n\bmod f(M)$ 次数显然小于 $k$ ,将 $M$ 代进去暴力算即可.
时间复杂度 $O(k^4+k^2\log n)$ .
1 |
|