摘要:
给定长度为n的数列a[]和整数k,求b[i] = min{a[i], ... , a[i + k - 1]}, 复杂度为O(n) 最开始单调队列为空,保证队列中的元素始终保持单调性 为了计算b[0],把0到k-1依次加入队列。在加入i时,当单调队列的末尾的值j满足a[j] >= a[i],则不断取出 阅读全文
摘要:
POJ2559http://poj.org/problem?id=2559 求一系列不等高的柱状体中最大的长方形面积 思路:答案中的长方形必定有至少有一条边与其中一个柱状体的顶边重合。那么我们只需求解对于每个柱状体,它最多能向左右延伸多长。 设当前柱状体下标为j (0 <= j < n) L[i] 阅读全文