单调栈

Posted universeplayer

tags:

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

http://poj.org/problem?id=2559
1
a[n + 1] = p = 0; 2 for (int i = 1; i <= n + 1; i++) 3 { 4 if (a[i] > s[p]) 5 { 6 s[++p] = a[i], w[p] = 1; 7 } 8 else 9 { 10 int width=0; 11 while (s[p] > a[i]) 12 { 13 width += w[p]; 14 ans = max(ans, (long long)width * s[p]); 15 p--; 16 } 17 s[++p] = a[i], w[p] = width + 1; 18 } 19 }

 

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

线性表--单调栈

线性表--单调栈

LeetCode- 柱状图中最大的矩形(单调栈)

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

单调队列与单调栈作用

51nod1102(单调栈/预处理)