矩阵优化DP
满足三个特点:
1.转移要选取的决策较少。(一般在常数级别)
2.转移的步骤很多。(一般是1e10以上的级别)
3.每一步的转移方程一样。(和递推类似)
*一般满足转移方程:
例子:
fib数列
一般转移方程为 f(n)=f(n−1)+f(n−2) ,决策只有两个,转移步骤一般很大,且每次转移都一样,满足优化条件。
不放设矩阵
每次要得到另一个矩阵
转移矩阵已经很明显:
显然, Bn=A1∗Tn−1 。而矩阵满足快速幂。可在 O(m3∗logn) 时间内解决。(m是每次转移决策数,此时m=2)。
fib数列拓展:
1. f(n)=f(n−2)+f(n−1)+1
转移
转移矩阵
时间复杂度 O(33logn)
2. f(n)=f(n−2)+f(n−1)+n+1,s(n)为f(n)前缀和,求s(n)
转移
转移矩阵