[题解][洛谷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 @   ZWZWW  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示