单调队列
也不多说,网上找博客。
非常重要的数据结构(还有单调栈),一定要掌握!!!
可以优化 Dp,等其他作用。。。
主要操作:1、维护队列有序性,与当前元素比较,更新尾部; 2、剔除头部不合法元素,输出答案。
example 1:求序列中一段连续的长度不超过 m 的子序列,使得和最大。
利用前缀和思想,a[i]-a[ll] 表示 ll~r 的区间和,a[i] 一定,要是和最大,则要使当前合法的 a[ll] 最小,利用单调队列维护最小值即可。。
example 2:
也不多说,网上找博客。
非常重要的数据结构(还有单调栈),一定要掌握!!!
可以优化 Dp,等其他作用。。。
主要操作:1、维护队列有序性,与当前元素比较,更新尾部; 2、剔除头部不合法元素,输出答案。
example 1:求序列中一段连续的长度不超过 m 的子序列,使得和最大。
利用前缀和思想,a[i]-a[ll] 表示 ll~r 的区间和,a[i] 一定,要是和最大,则要使当前合法的 a[ll] 最小,利用单调队列维护最小值即可。。
example 2: