URL
题意
给出一个长度为 \(N\) 的序列,有三个参数 \((H_i, P_i, C_i)\)。
-
你删掉第 \(i\) 个数的花费为 \(C_i\)
-
对于某个 \(i\),如果 \(i\) 前面没有被删掉的 \(H_j\) 都不超过 \(H_i\),或者 \(i\) 后面没有被删掉的 \(H_j\) 都不超过 \(H_i\),那么获得 \(P_i\)
求最大收入。
解法
考虑最后获得收入的位置,这些位置一定构成了一个先上升后下降的序列
枚举拐点,算一下拐点左边从左到右递增的最大收入,拐点右边从右到左的最大收入即可,这个 DP 可以用线段树优化