区间最值——单调队列の板子

队列是啥都知道对吧?

单调队列就是一个保证队列内元素单调的队列,这个队列和普通队列在操作上最大的不同就是既可以从队头弹出元素也可以从队尾弹出元素。队尾弹出是为了保证队列的单调性。

为啥我要让队列单调?

单调队列的基本用途就是求固定长度的区间的最值。。啊我不是说像rmq问题那样随便给个区间让求最值啥的。。它可能要求一系列区间,而这些区间的左端点和右端点排起序来都是单调的,那么用单调队列扫一遍就可以 O(n) 出解。其实有一些时候也不需要真的开出一个队列来啦。。平常用得很多的那种两个指针扫一遍的方法实际上跟单调队列就是差不多的啦。
举个例子来说,比如有一个DP方程是 f[i]=min{f[j


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部