快乐的一天从AC开始 | 20210701 | P2659

题目链接

AC代码

昨天回上海了,一直都在路上,没啥时间写,今天补上。(快乐的7.1在7.2才开始

这题用单调栈或者笛卡尔树就能解决。

注意到美丽度的定义,对于同一个最小值,区间长度肯定越长越好。

枚举所有最小值,借助单调栈可以找到前面和后面离当前元素最近且比当前元素小的元素下标,以当前元素为最小值且最长的区间也就找出来了。

然后取最大值就是答案了。

bonus:这题中\(a_i \ge 0\),所以对于同一个最小值,区间长度肯定越长越好。如果条件换成\(|a_i| \le 2 \times 10^6\)呢?

posted @ 2021-07-02 10:13  _Backl1ght  阅读(32)  评论(0编辑  收藏  举报