1 solutions
-
0
首先维护一下前缀和,这样左右断点时就可以 的得到代价。这样已经有了一个平方的做法。下面考虑如何在这个基础上减小复杂度。 首先需要观察出一个重要性质。最优方案下一定有删 1 数 = 剩 1 数(想一想,为什么?)。
在此基础上: 100分解法1:二分查找
考虑二分。容易发现如果已经确定了代价的最大值的话,对于一个确定的左边界,其右边界是容易找到的。 且容易判断合法。这样可以枚举每个左边界的时候,二分一下右边界。复杂度 ,相对容易想到。
100分解法2:尺取法考虑线性做法。 左侧边界向右移动时,其右边界的位置必然单调不减。从而可以枚举左边界的时候线性滑动求出对应的右边界。该方法复杂度
- 1
Information
- ID
- 136
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 6
- Tags
- # Submissions
- 5
- Accepted
- 1
- Uploaded By