随笔分类 - treap
摘要:显然转化为求不包含关键点的矩形个数。考虑暴力,枚举矩形下边界,求出该行每个位置对应的最低障碍点高度,对其建笛卡尔树,答案即为Σhi*(slson+1)*(srson+1),即考虑跨过该位置的矩形个数。 笛卡尔树就是treap,于是考虑利用treap将其动态维护,将hi设为treap的优先级。移动下边
阅读全文
摘要:注意下传标记时也需要新建节点。空间开的尽量大。
阅读全文
摘要:fhq-treap,也即非旋treap,可以在不进行旋转操作的前提下维护treap。由于不需要旋转,可以对其可持久化。 fhq-treap的基本操作是merge和split,并且通过这两个操作实现对treap的各项维护。 merge用来合并两棵treap,且要求满足其中一棵treap中的最大值小于另
阅读全文
摘要:一个显然的dp是设f[i][j]为i子树内权值<=j时的答案,则f[i][j]=Σf[son][j],f[i][a[i]]++,f[i][a[i]+1~n]对其取max。这样是可以线段树合并的,但实在太弱了不太会。 另一种做法是考虑扩展经典的单调队列优化LIS的做法,维护子树内答案为k时最小的最大值
阅读全文