单调栈
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 }
以上是关于单调栈的主要内容,如果未能解决你的问题,请参考以下文章