表示之前还不会这种类型怎么快速求值。。。
我们可以维护一个单调栈,使得\(h\)是递增的。 每次到一个位置,删到前面第一个比它小的位置,记作\(k\),然后最长的高度为\(h[i]\)的区间就是\([k+1,i]\)。 正着来一遍,再倒着来一遍即可。
笛卡尔树 \(by\) \(OIWIKI\)
HDU 1506 最大子矩形
原文:https://www.cnblogs.com/jz929/p/13777623.html