[题解][洛谷P3594] WIL

题目描述
一段长度为n的序列,可以将其中连续不超过d个元素修改成0。
请找到一段最长的,且和不超过p的区间。

题意分析
n范围为2e6,考虑O(nlogn)的做法。
二分答案枚举可能最长的长度L,通过前缀和,以及对每个位置后d个元素的后缀和维护一个单调队列,
O(n)枚举每个位置是否可能满足sum[i]-last[i]<=p判断即可。
(之前想的时候没想出来双指针的方法,具体是在l不变的时候尽可能将r右移,r无法移动则移动l,同时维护单调队列更新答案。时间复杂度O(n))

posted @ 2024-10-06 17:19  ZWZWW  阅读(28)  评论(0)    收藏  举报