常系数齐次线性递推优化矩阵快速幂-bzoj4161-4944

本文介绍了常系数齐次线性递推式的概念及其矩阵快速幂优化方法,详细阐述了特征值、特征向量、特征多项式在优化过程中的作用,以及如何利用特征多项式进行多项式取模,最后提供了相关的题目模板。
摘要由CSDN通过智能技术生成


常系数齐次线性递推式

f k = ∑ i = 1 n a i f k − i f_k=\sum _{i=1}^{n} a_if_{k-i} fk=i=1naifki

形如上式的 d p dp dp转移式( f f f表示 d p dp dp状态, a a a表示转移系数)即为常系数齐次线性递推式。对于这样的 d p dp dp式,给定 f 1 , 2 , . . , n , a 1 , 2 , . . . , n f_{1,2,..,n},a_{1,2,...,n} f1,2,..,n,a1,2,...,n,即可递推出 f k ( k > n ) f_k(k>n) fk(k>n)

常系数:每一项均由前 n n n项乘以固定系数得到。齐次:都为一次式。线性递推:显然。

矩阵快速幂优化上式达到 O ( n 3 log ⁡ k ) O(n^3\log k) O(n3logk)的复杂度(但这不是本文的重点)。

而常系数齐次线性递推式的转移矩阵的特征多项式可以 O ( 读 入 ) O(读入) O()求出,所以通过特征多项式可以进一步优化到 O ( n 2 log ⁡ k ) O(n^2 \log k) O(n2logk),再进一步优化多项式取模后可以做到 O ( n log ⁡ n log ⁡ k ) O(n\log n\log k ) O(nlognlogk)(本文讲解 O ( n 2 log ⁡ k ) O(n^2\log k) O(n2logk)的暴力取模方法)。


特征值&特征向量&特征多项式

A A A n n n阶矩阵,如果存在常数 λ \lambda λ非零向量 v ⃗ \vec v v ,使得 A v ⃗ = λ v ⃗ A\vec v=\lambda\vec v Av =λv ,则称 λ \lambda λ A A A特征值(也称缩放系数),非零向量 v ⃗ \vec v v 为** A A A的对应于特征值 λ \lambda λ的特征向量**。

则:
A v ⃗ = λ v ⃗ ⟺ ( λ I − A ) v ⃗ = 0 A\vec v=\lambda \vec v \Longleftrightarrow (\lambda I-A)\vec v=0 Av =λv (λIA)v =0

其有非零解的充要条件: d e t ( λ I − A ) = ∣ λ I − A ∣ = 0 det(\lambda I -A)=|\lambda I-A|=0 det(λIA)=λIA=0
( d e t ( A ) , ∣ A ∣ det(A),|A| det(A),A是矩阵 A A A的行列式的两种等价的表示方式)
(并不会证明,似乎 d e t ( ) = 0 det()=0 det()=0的一个矩阵可以想象成拍扁成了向量?而一个可逆的( d e t ( ) ≠ 0 det()\neq 0 det()̸=0的矩阵乘上一个向量并不能得到0)。

方程 ∣ λ I − A ∣ = 0 |\lambda I-A|=0 λIA=0称为 A A A特征方程

A = a ( i j ) A=a(ij) A=a(ij)的秩(列秩/行秩)为 n n n(令 A A A是满秩的),则 A A A的有 n n n组线性不相关特征值和特征向量(唔,证明没有找到)。
则有:
( 1 ) λ 1 + λ 2 + . . . + λ n = a 11 + a 22 + . . . + a n n (1)\lambda_1 +\lambda_2+...+\lambda_n=a_{11}+a_{22}+...+a_{nn} (1)λ1+λ2+...+λn=a11+a22+...+a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值