P1725 琪露诺
\(\text{solution}\)
真的是太简单啦!
考虑设 \(f_i\) 为走到 \(i\) 能获得能量最大值,我们把 + \(l, r\),转化为 - \(l, r\),所以状态转移方程为:
\[f_i = \max_{j = \max(0, i - r)}^{i - l} f_j + a_i
\]
然后我们发现数据范围过不去。
我们发现在一段区间内求最大值,这是什么!线段树!然后直接线段树维护就可以了,时间复杂度:\(O(n \log_2 len)\),其中 \(len = r - l + 1\)。