动态树
cervoliu
这个作者很懒,什么都没留下…
展开
-
【UOJ #207】共价大爷游长沙
Description 有一棵树,会改变它的形态。 有一个路径集合,初始为空,路径集合会被更改。 询问操作是询问一条边是否被路径集合所有路径经过。 n Analysis 对于一条边(x,y),如果所有路径都经过它,当且仅当所有路径中的仅一个端点在以x为根,y的子树内 我们对每一个路径随机一个权值,然后每次加入删除路径时,将两个段点的点权异或上这个权值,然后用动态树维护子树权值原创 2018-01-06 17:22:52 · 370 阅读 · 0 评论 -
【GDSOI2017】 中学生数据结构题
Description 给出一棵点权有根树,要求: 1. 树上的路径区间加 2. 树上路径区间查询和 3. 树上路径整体旋转一位(如:原路径上的权值依次是这样的:1,2,3,4,操作完后变成:4,1,2,3) n 链剖+splay 这里不讲 LCT LCT上的splay维护的是形态,而我们权值轮换的同时形态没有发生改变 于是我们要新开一棵splay专门维护权值,而原创 2018-01-07 22:20:52 · 296 阅读 · 0 评论 -
【BJOI 2014】大融合
Description 初始有N个点,接下来Q个操作,有两种操作 1 将不连通的x,y连边 2 询问经过边(x,y)的简单路径数量 对于100%的数据,1≤N,Q≤100000 链剖 所谓简单路径数量,就是从中间的边分开,两边的连通块点数之积 先把最终的树弄出来,转成有根树 链剖,每个点维护其子树大小 然后可以发现,连边后对于某一段链的子树大小是会有影响的 借助并查集来确定原创 2017-06-25 21:10:21 · 422 阅读 · 0 评论