随笔分类 - ACM-树链剖分
摘要:题目: 给定一棵树, 带边权。 现在有2种操作: 1.修改第i条边的权值。 2.询问u到其他一个任意点的最大距离是多少。 题解: 树的直径可以通过两次 dfs() 的方法求得。换句话说,到任意点最远的点,一定是直径的某个端点(反证法)。 • 因此原问题转化为动态维护直径,然后再支持询问两个点的距离,
阅读全文
摘要:Battle over Cities Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 467 Accepted Submission(s): 1
阅读全文
摘要:概念、性质简述 首先介绍一下链剖分的概念链剖分,是指一类对树的边进行轻重划分的操作,这样做的目的是为了减少某些链上的修改、查询等操作的复杂度。目前总共有三类:重链剖分,实链剖分和并不常见的长链剖分。 重链剖分 实际上我们经常讲的树剖,就是重链剖分的常用称呼。对于每个点,选择最大的子树,将这条连边划分
阅读全文
摘要:3083: 遥远的国度 Description 描述zcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国度。当zcwwzdjn准备进入遥远的国度继续追杀时,守护神RapiD阻拦了zcwwzdjn的去路,他需要zcwwzdjn完成任务后才能进入遥远的国度继续追杀。 问题是这样的:遥远的国
阅读全文
摘要:一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权
阅读全文
摘要:树链剖分就是将树分割成多条链,然后利用数据结构(线段树、树状数组等)来维护这些链。 首先就是一些必须知道的概念: 重结点:子树结点数目最多的结点; 轻节点:父亲节点中除了重结点以外的结点; 重边:父亲结点和重结点连成的边; 轻边:父亲节点和轻节点连成的边; 重链:由多条重边连接而成的路径; 轻链:由
阅读全文