随笔分类 - 动态规划-单调栈优化
摘要:"84. 柱状图中最大的矩形" 前置 单调栈 做法 连续区间组成的矩形,是看最短的那一块,求出每一块左边第一个小于其高度的位置,右边也同理,此块作为最短限制。需要两次单调栈 单调栈维护递增区间,每次不满足弹出栈顶,顺便利用此栈顶和当前位置计算栈顶能覆盖的长度 用来计算。仅需一次单调栈
阅读全文
摘要:题目 "HDU 5033 Building " 做法 其实就是维护一个上凸壳 因为下凸时的右端点是不会起到贡献的作用 计算几何要注意的点(还是太弱了,dalao请略过): $atan()$:通过比值计算弧度 $1rad=\frac{180^{o}}{\pi}$ My complete code cp
阅读全文
摘要:题目 "HDU 1506 Largest Rectangle in a Histogram" 做法 以$a_i$为最高高度,以$i$向左右扩展 找到$i$左边比$a_i$小的最右边的位置 找到$i$有边比$a_i$小的最左边的位置 然而十天后又忘了,来补下笔记: 这里单调栈维护的是一个从顶到底递减的
阅读全文