题意简述
$n$ 个物品排列成一排。
从选择某个物品开始,每一步可以选择左/右最近的未被选择的物品,直到所有物品均被选择。
若第 $i$ 个物品恰好在第 $C_i$ 步被选择,则会贡献 $D_i$ 的价值。
对每个 $1\le i\le n$,求出第一步选择 $i$ 能得到的最大价值。
$n\le 300000$。
主要思路
选物品的过程可以看作是二位平面上从 $(0, 0)$ 开始向上和向右行走,从 $i$ 开始可以看作终点是 $(i - 1, n - i)$。获得的贡献对应两条边的边权。
提取出 $O(n)$ 个关键点 dp,用个树状数组维护即可 $O(n\log n)$。
参考代码
1 |
|