【单调队列】单调队列不单调——噗
来源:互联网 发布:联想淘宝旗舰店靠谱吗 编辑:程序博客网 时间:2024/05/18 02:52
单调队列是这种东西——噗(泥垢)
考虑求解如下问题:data[i] = data[0 .. i - 1].select + F; 其中F与i无关; select一般指代min或者max,下文使用max来说明。
使用一般的方法我们需要O(n)的时间来求解每个data[i]的值,但是这个问题具有特殊性可以用来帮助我们优化。
data[i]是个上下文,获取data[i+1]的值时,比data[i]小的值不可能成为候选,所以我们可以依据data[i]的值断言一部分元素无效,从而将它们踢出查找过程。
假设这种操作在队列中完成,每个元素最多入队一次出队一次,所以复杂度是O(n)的。
这个东西经常用来优化动态规划。
0 0
- 【单调队列】单调队列不单调——噗
- 单调栈 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 一些容易错的地方
- 黑马程序员一单例设计模式的饿汉式与懒汉式以及加锁的情况
- ADS-B显示终端6.3
- JSP JAVA 自定义 错误页面(404,505,500)
- 在NT系列操作系统里让自己“消失”]
- 【单调队列】单调队列不单调——噗
- WinNT & Win2K下实现进程的完全隐藏
- 返回值类型
- 循环文件路径
- ZF2开发中常用操作 - zend framework 2 开发实战中常用操作最热门30问
- PE感染型病毒代码 大部分有注释
- Oracle用spool导出数据
- couldn't set locale: correctly报错的解决
- 快速上手RaphaelJS--RaphaelJS_Starter翻译(三)