2019牛客暑期多校训练营(第四场)C sequence —— 笛卡尔树模板+线段树

This wayc++ 题意: 问你 web 题解: 遇到这种题目必定是先作最小的点所覆盖的区间,依次这样递归下去。这时候就有一个快速知道当前最小的点的位置以及区间的作法:笛卡尔树 如下的讲解是基于顺序为下标,排序为最小值最优。 笛卡尔树就是一个相似二叉搜索树的二叉树,首先用一个单调栈来维护从根开始的最右链,而后每次进来一个位置i,依次pop直到找到第一个小于等于a[i]的位置,将那个点的右儿子标
相关文章
相关标签/搜索