1. 程式人生 > >常係數齊次線性遞推優化矩陣快速冪-bzoj4161-4944

常係數齊次線性遞推優化矩陣快速冪-bzoj4161-4944

常係數齊次線性遞推式

fk=i=1naifki

形如上式的dp轉移式(f表示dp狀態,a表示轉移係數)即為常係數齊次線性遞推式。對於這樣的dp式,給定f1,2,..,k,a1,2,...,k,即可遞推出fn(n>k)

常係數:每一項均由前k項乘以固定係數得到。齊次:都為一次式。線性遞推:顯然。

矩陣快速冪優化上式達到O(k3logn)的複雜度(但這不是本文的重點)。

而常係數齊次線性遞推式的轉移矩陣的特徵多項式可以O()求出,所以通過特徵多項式可以進一步優化到

O(k2logn),再進一步優化多項式取模後可以做到O(klogklog)(本文講解O(k2logn)的暴力取模方法)。

特徵值&特徵向量&特徵多項式

An階方程,如果存在常數λ非零向量v,使得Av=λv,則稱λA特徵值(也稱縮放係數),非零向量vA的對應於特徵值λ的特徵向量

則: Av=λv(λIA)v=0

其有非零解的充要條件:det(λIA)=

|λIA|=0 (det(A),|A|是矩陣A的行列式的兩種等價的表示方式) (並不會證明,似乎det()=0的一個矩陣可以想象成拍扁成了向量?而一個可逆的(det()0的矩陣乘上一個向量並不能得到0)。

方程|λIA|=0稱為A特徵方程

A=a(ij)的秩(列秩/行秩)為n(令A是滿秩的),則A的有n組線性不相關特徵值和特徵向量(唔,證明沒有找到)。 則有: