BZOJ4162: shlw loves matrix II

4162: shlw loves matrix II
如果我们已知矩阵 A A A的特征多项式 p ( x ) p(x) p(x),其最高次数为 k k k,由哈密尔顿-凯莱定理得知
p ( A ) = a 0 A n + a 1 A n − 1 + ⋯ + a k A n − k = 0 p(A)=a_0A^n+a_1A^{n-1}+\dots+a_kA^{n-k}=0 p(A)=a0An+a1An1++akAnk=0
显然 a 0 = 1 a_0=1 a0=1,那么
A n = a 1 A n − 1 + ⋯ + a k A n − k A^n=a_1A^{n-1}+\dots+a_kA^{n-k} An=a1An1++akAnk
我们就可以把一个高次项拆成若干次数较小的项,再拆拆拆拆成 k − 1 k-1 k1项,显然 k k k O ( n ) O(n) O(n)级别的,然后我们求出 A 0 A^0 A0 A k − 1 A^{k-1} Ak1就可方便地计算出答案.
考虑怎么计算特征多项式.
满足 A = P B P − 1 A=PBP^{-1} A=PBP1的两个矩阵 A , B A,B A,B互为相似矩阵,它们的特征多项式相同,因此我们先把矩阵变换到如下形式(左下方是全为 0 0 0的三角),变换的时候记得左右乘两个互逆的初等矩阵:
[ a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n 0 a 3 , 2 ⋯ a 3 , n 0 0 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ a n , n ] \begin{bmatrix}a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\ a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\ 0 & a_{3,2} & \cdots & a_{3,n} \\ 0 & 0 & \cdots & a_{2,n} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & a_{n,n} \end{bmatrix} a1,1a2,1000a1,2a2,2a3,200a1,na2,na3,na2,nan,n
然后设 B i B_i Bi为以 A i , i A_{i,i} Ai,i为左上端点, A n , n A_{n,n} An,n为右下端点的矩阵,设 f i f_i fi B i B_i Bi的行列式,考虑对 B B B横着的第一行展开,我们可以得到:
f i = A i , i f i + 1 + ( A i + 1 , i ) A i , i + 1 f i + 2 + ( A i + 1. i A i + 2 , i + 1 ) A i , i + 2 f i + 3 + … f_i=A_{i,i}f_{i+1}+(A_{i+1,i})A_{i,i+1}f_{i+2}+(A_{i+1.i}A_{i+2,i+1})A_{i,i+2}f_{i+3}+\dots fi=Ai,ifi+1+(Ai+1,i)Ai,i+1fi+2+(Ai+1.iAi+2,i+1)Ai,i+2fi+3+
然后就可以愉快地递推了.
设指数为 T T T,总时间复杂度为 O ( n 4 + n 2 l o g T ) O(n^4+n^2logT) O(n4+n2logT)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值