splay
LZJ209
主页:https://zongjia.li/
展开
-
BZOJ 3786 星系探索 splay维护dfs序
一开始看到子树操作想要树剖,但是仔细想想之后发现树剖没有办法维护一个点到根节点的距离,而且无法维护对应关系,后来就想到了使用dfs序,这样只要维护前缀和就可以快速求出一个点到根节点的距离,由于有换边操作,所以我们要使用splay维护,这道题要注意一个细节,就是每次想要提取出来一个区间需要先找到这个区间的前驱后继,都做完以后这题就能过啦#include<cstdio> #include<cstdlib原创 2016-12-27 14:48:05 · 465 阅读 · 0 评论 -
BZOJ 3159 决战 (splay+树链剖分)
题意:给出一棵树,(1)路径加一个值;(2)路径上的节点的值反转(只是值反转,不是节点反转);(3)询问路径最大值 最小值 和。 解题思路: 题目简单,代码冗长 写这道题的时候还没有学LCT,所以我写了一种非常奇葩的方法,纯splay+树链剖分,代码冗长,但我觉得还挺好理解的。 首先我们可以先对整棵树进行树链剖分,分出轻重链之后就可以将一条链分解成若干条重链,用splay维护剖分出来的序列,原创 2016-12-09 21:52:44 · 669 阅读 · 1 评论