裁剪序列

这道题目感觉还可以这么做(没试,有空了试一下)

尝试利用数据结构优化

看转移方程:

\[f[i]=min_{sum_i-sum_j≤M}(f[j]+max_{j+1≤k≤i}(A_k)) \]

显然当\(i\)加一后,可以利用单调栈去找那些\(j\)的后面一项贡献max要改变,再利用线段树维护即可

posted @ 2024-07-05 12:41  最爱丁珰  阅读(1)  评论(0编辑  收藏  举报