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