【动态规划10】单调队列总结
来源:互联网 发布:淘宝客全店推广如何做 编辑:程序博客网 时间:2024/06/05 21:15
https://wenku.baidu.com/view/ef259400bed5b9f3f90f1c3a.html
先丢一个感觉超好用论文。
在之前我也写过两道用单调队列优化DP的题解,今天偶然看到了这样一个论文,大概就题目与用法之间写一个总结。
单调队列就是维护一个队列,满足队列里的元素的值与指针都是单调的。
一、维护区间的最大值/最小值
假设这个数列为a[],区间的大小为m。
假如维护最大值那么就维护一个单调递减队列,每次向右找到一个新的位置i时,假如队尾的元素比a[i]小的话,就将队尾元素出队,直到满足递减性便将a[i]入队。同时对于队首,假如它的指针小于i-m+1,那么显然这个数字对于我们所求的区间是无关的,也将它出队。
结束之后,此时显然队首的元素就是所求区间中的最大值,因为这个队列是单调递减的。
对于最小值亦然。
那么,为什么这样子维护队列,就能找到区间的最大值/最小值呢?
对于最大值,我们思考这么一个问题,我们所求的最大值的区间是从i-m+1~i,那我们假设目前的队尾元素是a[j],而且a[j]
http://blog.csdn.net/flanoc/article/details/72860395
不要脸地丢个自己写的(代码超丑的)题解。
维护区间最大值和最小值然后瞎搞就行。
二、同时维护多种单调性
其实也没说的那么玄乎,大概就是a[][2],在a[][0]相同时,优先考虑a[][1]的大小。
还是不要脸地扔个题解。
http://blog.csdn.net/flanoc/article/details/72870236
论文中的题目
http://blog.csdn.net/Flanoc/article/details/72918520
待续
- 【动态规划10】单调队列总结
- 单调队列优化动态规划
- 动态规划之单调队列
- 单调队列优化动态规划
- 【动态规划\单调队列】逃亡的准备
- 关于动态规划的单调队列优化
- bzoj1855 股票交易 动态规划&单调队列
- 【单调队列】【动态规划】[CQBZOJ3059]Bead
- 假期(动态规划+单调队列)
- 选择数字(动态规划+单调队列)
- 动态规划中的单调队列优化
- HDU3401 Trade (动态规划+单调队列)
- 动态规划之单调队列优化专题
- POJ 3017 单调队列+最值优化 的动态规划
- [POJ 3926][Vjudge 19611] Parade [动态规划+单调队列]
- noip2009 道路游戏 (单调队列优化动态规划)
- POJ 3245|Sequence Partitioning|动态规划|单调队列
- POJ 3017|Cut the Sequence|动态规划|单调队列
- Bootstrap中glyphicon图标无法引用问题
- win7下亲测MySQL使用命令备份与还原
- java基础语法
- assert()函数
- struts2入门 -Idea maven 构建项目
- 【动态规划10】单调队列总结
- 类 对象 接口
- Android NDK开发之旅(2):一篇文章搞定Android Studio中使用CMake进行NDK/JNI开发
- 杂谈
- [linux]Linux程序设计cc2--shell程序设计
- ACE 服务配置:静态服务 和 动态服务
- git和GitHub
- Spring——AOP com.sun.proxy.$Proxy7 cannot be cast to xxx
- JavaScript基础——省市联动