单调队列

Posted universeplayer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单调队列相关的知识,希望对你有一定的参考价值。

最大子序和

http://contest-hunter.org:83/contest/0x10%E3%80%8C%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E3%80%8D%E4%BE%8B%E9%A2%98/1201%20%E6%9C%80%E5%A4%A7%E5%AD%90%E5%BA%8F%E5%92%8C

 1     FOR(i,1,n) sum[i]=sum[i-1]+a[i];
 2     int l=1,r=1;
 3     q[1]=0;
 4     FOR(i,1,n)
 5     {
 6         while(l<=r&&q[l]<i-m) l++;
 7         ans=max(ans,sum[i]-sum[q[l]]);
 8         while(l<=r&&sum[q[r]]>=sum[i]) r--;
 9         q[++r]=i;
10     }

 

以上是关于单调队列的主要内容,如果未能解决你的问题,请参考以下文章

HDU 6957 Maximal submatrix(悬线法 || 优先队列 || 单调栈 )

POJ 2823 Sliding Window 单调队列

单调队列与单调栈作用

单调队列题目练习

POJ 2823 Sliding Window(单调队列)

单调队列单调栈优先队列模板