随笔分类 -  treap

摘要:显然转化为求不包含关键点的矩形个数。考虑暴力,枚举矩形下边界,求出该行每个位置对应的最低障碍点高度,对其建笛卡尔树,答案即为Σhi*(slson+1)*(srson+1),即考虑跨过该位置的矩形个数。 笛卡尔树就是treap,于是考虑利用treap将其动态维护,将hi设为treap的优先级。移动下边 阅读全文
posted @ 2019-03-29 23:45 Gloid 阅读(203) 评论(0) 推荐(0)
摘要:注意下传标记时也需要新建节点。空间开的尽量大。 阅读全文
posted @ 2019-01-10 20:57 Gloid 阅读(228) 评论(0) 推荐(0)
摘要:fhq-treap,也即非旋treap,可以在不进行旋转操作的前提下维护treap。由于不需要旋转,可以对其可持久化。 fhq-treap的基本操作是merge和split,并且通过这两个操作实现对treap的各项维护。 merge用来合并两棵treap,且要求满足其中一棵treap中的最大值小于另 阅读全文
posted @ 2019-01-10 19:30 Gloid 阅读(172) 评论(0) 推荐(0)
摘要:一个显然的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时最小的最大值 阅读全文
posted @ 2018-12-01 02:01 Gloid 阅读(209) 评论(0) 推荐(0)