Codeforces Round #622 (Div. 2) C2.Skyscrapers (hard version)DP+单调栈

题意简单 给出一个数组 要求呈峰的形状 即一个数左边部分和右边部分不容许出现比本身大的数 能够等于 大于的数能够任意减少 求出最优策略使整个数组之和最大ios 简单版与复杂版的区别就是n的范围 简单版能够暴力过 复杂版的就要dp+单调栈了 假设一个点为中间点 那么它两边大于他的数就须要减少 由于要求最大和 因此咱们可使比它大的数等于它 这样就能够最大程度下降损失 咱们用单调栈求出每一个数左边和右边
相关文章
相关标签/搜索