单调队列--求几种类型的最大子段和
摘要:
在解一个区间的最值问题时,我们可以用到单调队列。单调队列维护的是区间最值。1.最大值的维护: 比如我们要维护一个区间为k的最大值的单调队列,由于新插入 的节点他的“生命力”肯定比原先已经在队列中的元素“活”的时间长,将插入元素不断与队尾元素比, 如果他大于队尾元素,那么r--将队尾元素删掉,(因为目前插入的这个元素值(设为pos)更大,而且“活”的时间 长,有pos在,队尾元素的有“生”之年永远都没法为最大值,故而直接无视比pos小的队尾了)。直到对空位置或者 找到了一个比pos大的队尾。 2.K区间的维护: 比如当前k区间的起点为i,即区间为[i,i+k-1],那么如果队头元素front.. 阅读全文
posted @ 2011-12-16 02:51 lwbaptx 阅读(1861) 评论(0) 推荐(0)
浙公网安备 33010602011771号