
单调栈
文章平均质量分 67
Bahuia
软件工程博士
展开
-
51Nod - 1102 单调栈
题意: 有一个正整数的数组,化为直方图,求此直方图包含的最大矩形面积。例如 2,1,5,6,2,3,对应的直方图如下: 面积最大的矩形为5,6组成的宽度为2的矩形,面积为10。 Input 第1行:1个数N,表示数组的长度(0 <= N <= 50000) 第2 - N + 1行:数组元素A[i]。(1 Output原创 2017-02-03 22:22:42 · 350 阅读 · 0 评论 -
51Nod - 1478 单调栈 + 二分
题意: 找出一串括号序列中的最长的合法子串的长度以及数目。 思路: 如果对于括号序列,'('表示+1,')'表示-1,一串合法的括号序列要保证这样的前缀和序列首尾都是0,且序列中间的前缀和值不能小于0。对于这道题来说,找到每个前缀和sum[p]之后与之相邻最远的且相同的前缀和的位置q,那么[p+1,q]这一段就是以这个p+1开头的最长的合法括号序列。这里可以对于每个位置p利用单调栈求原创 2017-03-05 12:43:21 · 366 阅读 · 0 评论