Link
看出来应该是根据单调性来做 双指针?不好弄 三指针?不好弄 五指针?贰叁叁
Solution
预处理出从每个点开始长度为的区间和 枚举,找出当前合法的最靠前的。合法的话,需要保证 这个最大值用单调队列维护即可。
Tips
基于单调性的做法有多种,不应该只纠结于
Code
1 |
|
看出来应该是根据单调性来O(n)做 双指针?不好弄 三指针?不好弄 五指针?贰叁叁
预处理出从每个点开始长度为d的区间和g[] 枚举r,找出当前合法的最靠前的l。合法的话,需要保证Sum(l,r)−max{g[l∼r−d+1]}<p 这个最大值用单调队列维护即可。
基于单调性的O(n)做法有多种,不应该只纠结于
1 | #include "lucida" |