(补
今天上班可持久化自闭,没思路,也不敢问
心路历程
均摊,均摊,(O(n))。
二分,线段树,(O(n log^2n))。
思路
严重怀疑第二种做法会T。
首先,答案至少为(d)。
然后,清零肯定是清范围内长度为(d)且和最大的那一段。这个可以用单调队列维护。
然后枚举右端点(r),每次将右端点加入单调队列,再将队列前面不满足再范围内的点pop掉。
然后看满足条件的最小的左端点在哪,这里不断++l
就可以了。左端点变化后可能又有一些元素不满足要求了,记得pop。
然后当前满足条件的区间就是([l,r]),所有情况中的最大值记为答案。