快乐的一天从AC开始 | 20210714 | P3594

题目链接

(补

今天上班可持久化自闭,没思路,也不敢问

心路历程

均摊,均摊,\(O(n)\)

二分,线段树,\(O(n \log^2n)\)

思路

严重怀疑第二种做法会T。

首先,答案至少为\(d\)

然后,清零肯定是清范围内长度为\(d\)且和最大的那一段。这个可以用单调队列维护。

然后枚举右端点\(r\),每次将右端点加入单调队列,再将队列前面不满足再范围内的点pop掉。

然后看满足条件的最小的左端点在哪,这里不断++l就可以了。左端点变化后可能又有一些元素不满足要求了,记得pop。

然后当前满足条件的区间就是\([l,r]\),所有情况中的最大值记为答案。

posted @ 2021-07-16 00:49  _Backl1ght  阅读(25)  评论(0编辑  收藏  举报