UNR #10 黑幕

想了一整场获得了零蛋的好成绩。


首先我们看到题,首先能想到操作有两类,一种是有代价的,一种是无代价的。

接下来,不要试着直接做,直接做不是很好做,试着去发现一下性质:我们一定会尽量能用无代价,就是最优解一定形如先用没有代价的,再用有代价的,现在我们有一堆无代价操作过后的点,每个点都对应着一个区间,我们试着去刻画一下这些区间的特征。

可以先写个暴力,求出来每个区间合并成一个点的最小代价,我们发现所有代价为 \(0\) 的区间都满足左端点小于右端点,接下来我们试着去证明一下:

首先对于左端点大于右端点的,我们发现左端点进行没有代价的操作后,他只会变大,右端点则只会变小,最后一定无法合并,然后我们思考左端点小于右端点的,我们一定能找到一个可以操作的,如果他在中间,那么不重要,如果操作在左右两边,那么只需要让左右断点不变就好了。

那么接下来问题就转化成了从 i 劈成左右两半,然后将左右两段分别解决,问题形如划分成最少的段,然后每段右端点大于等于左端点,这个是简单的,然后就没了。

最后再说一下为什么一定先用没有代价的,因为假如你用有代价的和没有代价的(先操作有代价的),同时合并成了一段区间,那么你一定可以把有代价的改为无代价的,因为左右端点能合并,所以一定可以用无代价的合并成同一个点。

posted @ 2026-07-12 21:08  Air2011  阅读(25)  评论(1)    收藏  举报