前言 最近做题目,已经不止一次用到笛卡尔树了.这种数据结构极为优秀,但是构造的细节很容易出错.因此写一篇文章做一个总结. 笛卡尔树 Cartesian Tree 引入问题 有N条的长条状的矩形,宽度都为1,第i条高度为Hi,相邻的竖立在x轴上,求最大的子矩形面积. 约定 1 ≤ N ≤ 105 1 ≤ Hi ≤ 109 分析 我们只需要求出每条矩形最多可以向两边拓展的宽度,就可以算出以这个矩形高度为高的最大子矩形面积.最后我们求一个最大值即可. 下面我们还是回到之前的笛卡尔树. 概念 笛卡尔树的…