常见于一维信息的迭代线性叠加
例题1:583D - Once Again...
求循环T次的数字串的LIS
想到了矩阵加速,不过以前只见过优化一维信息,所以尝试用dp[300]的值域结尾最长长度来表示目标向量
设计矩阵的时候就发现这里面加1加2的不满足线性叠加
事实上通过这道题我也明白了矩阵不止可以加速一维信息,也可以加速dp[i][j]这样的信息,只不过
最后的结果不是那个一维向量,而是最后的矩阵了
dp[i][j]表示a[i]开始a[j]结束的最长长度,这样就是完全的向量拼接了
---------------------------------------------------------------------------------------------------------------------------------
例题2: 233 Matrix HDU - 5015
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
例题3:Codeforces 954C Matrix Walk
有长条障碍的线性叠加
一眼快速幂,由于经验不足一直在想怎么容斥
这道题教会我分段快速幂,有点像那个经典的拆时间点的做法
这个题可以把原来的大矩形拆成多段转移矩阵不变的小段
通过每个小段重构转移矩阵就可以做到分段快速幂了