[题解][洛谷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))
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库