HDU 1506 最大子矩形

表示之前还不会这种类型怎么快速求值。。。

\(Solution 1\)

我们可以维护一个单调栈,使得\(h\)是递增的。
每次到一个位置,删到前面第一个比它小的位置,记作\(k\),然后最长的高度为\(h[i]\)的区间就是\([k+1,i]\)
正着来一遍,再倒着来一遍即可。

\(Solution 2\)

笛卡尔树 \(by\) \(OIWIKI\)

posted @ 2020-10-07 15:48  jz929  阅读(137)  评论(0编辑  收藏  举报