[CEOI2018]Global warming

update:2021 06 14 更改了半全角,图片,LaTeX。

Link


ETHANK 大佬已经写过题解,但是对于没有想过来的 friends 可能会有点迷糊,故以此帖加以补充。

通过读题可知我们需要修改的是一个连续区间 [ l , r ] [l,r] [l,r],由于增加值相等,所以区间内的元素相对大小不改变,也就是说,这次修改只会对 [ r + 1 , n ] [r+1,n] [r+1,n] 造成影响。但修改的范围和增加值我们都不知道,这也是本题难点。

我们不妨换个角度思考,修改操作的作用其实就是把某一段高度高的区间降下来,与前后剩余区间的某些元素构成 LIS,或是提升某一段区间的高度,与上面的情况同理。

设增加值为 x,前面一段区间 A 的 LIS 的终点为 a,后面一段区间 B 的 LIS 起点为 b。

  1. a ⁡ < b ⁡ \operatorname{a}<\operatorname{b} a<b,二者直接合并。

  2. a ⁡ < b ⁡ + x ⁡ \operatorname{a}<\operatorname{b}+\operatorname{x} a<b+x,此时相当于提升 B ,两者合并。

如图:(黑色代表 A,橙色代表 B,蓝色代表 [ r + 1 , n r+1,n r+1,n])。

[CEOI2018]Global warming_第1张图片

不难发现,a

如图:

[CEOI2018]Global warming_第2张图片

又因为区间内部相对大小不变,所以 A 的减小值肯定越大越好,更有可能与后面构成新的 LIS,而 B 的增加值就不一定了,因为有可能增加了反而超过了后面可充当新 LIS 后半段的区间的元素大小,即能减少到 d,但不一定能增加到 d。

如图:

[CEOI2018]Global warming_第3张图片

既然前面区间和我这个区间一起改变后我们之间不会有影响,但可能对后面的区间产生影响,那么肯定每次变动整个前缀最优。

答案即为每次修改后 [ 1 , n ]

你可能感兴趣的:(题解)