动态规划 单调队列优化
剑锋OI
文艺青年还是正高教授,我自己也分不清了呀。
展开
-
动态规划之单调队列优化专题【附题目练习清单】
什么是单调(双端)队列单调队列,顾名思义,就是一个元素单调的队列,那么就能保证队首的元素是最小(最大)的,从而满足动态规划的最优性问题的需求。 单调队列,又名双端队列。双端队列,就是说它不同于一般的队列只能在队首删除、队尾插入,它能够在队首、队尾同时进行删除。【单调队列的性质】一般,在动态规划的过程中,单调队列中每个元素一般存储的是两个值: 1.在原数列中的位置(下标) 2....原创 2017-12-06 12:20:07 · 3725 阅读 · 1 评论 -
单调队列优化动态规划
什么类型的DP需要用到常规的单调队列?类似这样的转移方程可以用到单调队列: f[i]=max(g[j])+w[i]其中,g[j]是一个与i无关系的数。w[i]只与i有关系。怎么用?我们首先开一个队列。DP时: 1、先删掉前面超出范围的队头。 2、利用队头转移。 3、将这个数和队尾比较,若队尾不比它优,就删掉队尾,直到队列为空或队尾比它优。最后将它加进队尾。原因1、单调队列中的数都在要范围转载 2017-11-10 09:29:45 · 5683 阅读 · 0 评论