基本思想 树链剖分一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每条边属于且只属于一条链,然后再通过数据结构来维护每一条链。 一些定义 树链:树上的路径. 剖分:把路径分类为重链和轻链. 重儿子:u的子节点中siz[v]值最大的v. 轻儿子:u的其它子节点. 重边:点u与其重儿子的连... ...
分类:
其他好文 时间:
2016-12-25 11:50:37
阅读次数:
181
其实也没啥好说的 用树状数组可以O(logn)的查询 套一层整体二分就可以做到O(nlngn) 最后用树链剖分让序列上树 ...
分类:
编程语言 时间:
2016-12-22 00:03:15
阅读次数:
348
【算法】树链剖分 【题解】模板题,见http://www.cnblogs.com/onioncyc/p/6207462.html 调用线段数时要用新编号pos[i] !!! #include<cstdio> #include<cctype> #include<algorithm> using nam ...
分类:
其他好文 时间:
2016-12-21 21:06:01
阅读次数:
199
【POJ3237】Tree Description You are given a tree with N nodes. The tree’s nodes are numbered 1 through N and its edges are numbered 1 through N ? 1. Eac ...
分类:
其他好文 时间:
2016-12-17 14:03:21
阅读次数:
267
【BZOJ1984】月下“毛景树” Description 毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园。 毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里。爬啊爬~爬啊爬~~毛毛虫爬到了一颗小小的“毛景树”下面,发现树上长着他最爱吃的毛毛果~~~ “毛景树”上有N个节点 ...
分类:
其他好文 时间:
2016-12-15 21:12:01
阅读次数:
210
【BZOJ4034】[HAOI2015]树上操作 Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节 ...
分类:
其他好文 时间:
2016-12-15 20:43:52
阅读次数:
255
【BZOJ2243】[SDOI2011]染色 Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1” ...
分类:
其他好文 时间:
2016-12-15 14:05:11
阅读次数:
217
2243: [SDOI2011]染色 Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。 请你 ...
分类:
其他好文 时间:
2016-12-15 07:13:50
阅读次数:
215
【BZOJ1036】[ZJOI2008]树的统计Count Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径 ...
分类:
其他好文 时间:
2016-12-14 21:13:18
阅读次数:
183
方法1:倍增 1498ms 方法2:树链剖分 1314ms 让链首深度大的走到重链的父节点直到在一条重链上,返回深度小的节点 ...
分类:
其他好文 时间:
2016-12-14 01:49:51
阅读次数:
232