P7514 「省选联考 2021 A & B 卷」卡牌游戏

翻的肯定是最前面和最后面的若干张,翻中间不会使最大值减小或最小值增大。

容易发现,翻面一定得改变最小值或最大值才有意义,所以一旦翻之前的值已经不是最值就没必要翻

先找出前面最多翻几张,然后从多到少枚举。后面在翻之前一定必须是唯一的最大值,并且不能翻出小于等于前面翻的最后一张翻之前的值。

前面翻的越少最小值单调不增,也越不会影响最大值;后面翻的越多最大值单调不增,也越会影响最小值。所以最后面翻的数量肯定是单调不降的,维护前后缀最值然后双指针。

时间复杂度 \(O(n)\),而且存在相同数并不会影响这个做法的正确性。

posted @ 2025-02-17 13:07  Sumering  阅读(8)  评论(0)    收藏  举报