将树分为若干条重链和轻链 ,再用线段树维护 模板https://www.luogu.org/problemnew/show/P3384 题目大意:在一棵树上询问两个点之间的颜色段和修改一个节点的颜色。链接: https://loj.ac/problem/10141 思路:因为树链剖分查询时是从两个端 ...
分类:
其他好文 时间:
2018-10-08 20:44:49
阅读次数:
170
月下“毛景树” 题目描述 毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园。 毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里。 爬啊爬~~毛毛虫爬到了一颗小小的“毛景树”下面,发现树上长着他最爱吃的毛毛果~~~ “毛景树”上有N个节点和N 1条树枝,但节点上是没有毛毛果的, ...
分类:
其他好文 时间:
2018-10-05 22:39:31
阅读次数:
223
题意:在一颗树上,你在s位置,询问s到x的距离,然后移动到x点,第二种操作是修改一条边的权值 思路:直接树链剖分,不知道哪里出的bug,最后发现在主函数询问的时候好像有个标号改着改着改错了 代码: ...
类似树链剖分(其实直接记住就可以了),提前放代码 Link Cut Tree的一些注意: 同一个Splay中没有相同深度点 Splay需要先放标记 然后Splay的根的父亲不一定是0 认父不认子,就是儿子父亲不变,但是父亲只记录一个儿子 核心操作: access 提取一个到根的路径 考虑现在是一个由 ...
分类:
其他好文 时间:
2018-10-05 19:24:36
阅读次数:
194
题意:给你一棵树,然后有三种操作 I L R K: 把L与R的路径上的所有点权值加上K D L R K:把L与R的路径上的所有点权值减去K Q X:查询节点编号为X的权值 思路:树链剖分裸题(我还没有怎么学懂,但基本已经没有什么太大的问题,主要的问题就在于点或者边对于数据结构的映射关系是,主要没有单 ...
分类:
其他好文 时间:
2018-10-04 10:11:56
阅读次数:
154
传送门 解题思路 快被调死的码农题,,,其实就是一个边权下放到点权的线段树+树剖。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> using namespace ...
分类:
其他好文 时间:
2018-10-01 14:34:54
阅读次数:
171
树链剖分 树剖是将树的节点分为轻重点,再将边分为轻重链,然后用树状数组、线段树等数据结构进行维护的算法思想。个人认为本质上可以看作线段树等维护区间的数据结构在树上的推广应用。换句话说,就是将树hash成几段连续区间以便数据结构来维护。 适用问题 对于一棵有点权的树 对两点间最短路径上点的修改与询问操 ...
分类:
其他好文 时间:
2018-09-28 11:05:56
阅读次数:
119
P3178 [HAOI2015]树上操作 树链剖分模板简化(右转模板区) ...
分类:
其他好文 时间:
2018-09-27 14:15:07
阅读次数:
149
Water Tree http://codeforces.com/problemset/problem/343/D time limit per test 4 seconds memory limit per test 256 megabytes input standard input outpu ...
分类:
其他好文 时间:
2018-09-26 01:17:34
阅读次数:
322
一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权 ...
分类:
其他好文 时间:
2018-09-26 01:11:34
阅读次数:
189