ABC456F

image
穹妹!!!

image

先考虑暴力。
\(f_i\) 表示选 \(i\) 这个位置且覆盖了 \(i\)\(i\) 前的位置的最小代价,易得

\[f_i = \min(f_{i - 1}, f_{i - 2}) + a_i \]

这个东西我们可以用类似矩阵乘法的 最短路矩阵乘法 来解决。
定义为若 \(C = A \times B\)\(A,B,C\)\(n\times m,m\times k, n\times k\) 的矩阵。
\(C_{i,j} = \displaystyle\min^m_{t = 1}\{A_{i, t} + B_{t, j}\}\)
显然满足结合律。
在这个题中,乘法式子为

\[\begin{bmatrix} f_{i + 1}\\ f_i \end{bmatrix}=\begin{bmatrix} a_i & a_i\\ 0 & +\infty \end{bmatrix}\times\begin{bmatrix} f_i\\ f_{i-1} \end{bmatrix} \]

因此对于每个起始点,我们可以用线段树维护出要 dp 的区间的矩阵乘积,再 \(\mathcal O(1)\) 转移到最后一个数即可。

posted @ 2026-05-03 15:04  SigmaToT  阅读(11)  评论(0)    收藏  举报