码迷,mamicode.com
首页 >  
搜索关键字:lca    ( 2392个结果
BZOJ 3991 Sdoi2015 寻宝游戏 树链的并
题目大意:给定一棵树,多次将某个点设为关键点或取消关键点,求虚树中边长总和的二倍 Orz wyfcyx 首先我们考虑树链的并(每个点到根节点的链的并集)怎么求 将虚树中的所有点按照DFS序排序,将每个点的深度统计入答案,将相邻两个点之间的LCA的深度从答案中扣除,就是所有点到根的链的并集的长度 但是我们要求的是虚树中的边长总和,因此我们还要减掉所有点LCA的深度 现在要求动态维护,因此我...
分类:其他好文   时间:2015-04-16 12:35:09    阅读次数:131
树链剖分
先来LCA的: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define REP(i, s, n) for(int i = s; i = s; i --) 8 using namespace std; 9 const ...
分类:其他好文   时间:2015-04-15 22:55:26    阅读次数:193
[BZOJ1602&BZOJ1787&BZOJ2144]树上LCA的算法巩固练习
简述求LCA的倍增算法 对于树上的所有节点,我们可以很轻松地通过dfs求出其直接的父亲节点以及其深度 通过类似RMQ的原理我们可以处理出每个节点的第2^i个父亲 //这个过程既可以在dfs之后双重循环建也可以像树剖模板里那样dfs里直接建 //个人比较推荐后者,会少掉一些不必要的运算,但由于...
分类:编程语言   时间:2015-04-15 12:55:45    阅读次数:148
【BZOJ2588】【Spoj 10628.】 Count on a tree 可持久化线段树+lca
题解: 对于每个树上节点存一个版本的可持久化线段树,为它到根节点上所有权值的权值线段树(需要离散化)。 然后对于每次询问,这条链(a,b)的线段树就是:线段树a+线段树b?线段树lca?线段树falca线段树_a + 线段树_b - 线段树_{lca} - 线段树_{fa_{lca}} 然后线段树上求第k小啦。 代码: #include #include #include...
分类:其他好文   时间:2015-04-15 09:44:07    阅读次数:176
Hdoj 2586 How far away ? 【LCA】
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7072 Accepted Submission(s): 2575Problem DescriptionThere are n houses in th...
分类:其他好文   时间:2015-04-14 21:33:36    阅读次数:109
SPOJ 913 QTREE系列- Query on a tree II (倍增LCA)
题目地址:QTREE2 - Query on a tree II LCA学了离线与在线转RMQ方法后就去做这道题,于是想了好长时间也没想到怎么做。看了题解都是用的倍增LCA。。于是又去学了下倍增法求LCA,这才发现用倍增法做简直是水题。。。因为求路径的第k个点可以转化成求第k个父节点,然而倍增法的原理就是根据的父节点,于是这题就很容易解决了。。 求距离很好求。关键...
分类:其他好文   时间:2015-04-13 20:54:08    阅读次数:202
【主席树】bzoj2588 Spoj 10628. Count on a tree
每个点的主席树的root是从其父转移来的。询问的时候用U+V-LCA-FA(LCA)即可。#include#includeusing namespace std;#define N 100001int v[N>1); T[cur].lc=++e; BuildTree(T[cur].lc,l,m); ...
分类:其他好文   时间:2015-04-13 20:40:23    阅读次数:139
POJ 1986 Distance Queries (在线LCA转RMQ)
题目地址:POJ 1986 纯模板题。输入的最后一个字母是多余的,完全不用管。还有注意询问的时候有相同点的情况。 代码如下:#include #include #include #include #include #include #include #inclu...
分类:其他好文   时间:2015-04-09 13:52:10    阅读次数:120
POJ 1470 Closest Common Ancestors (在线LCA转RMQ)
题目地址:POJ 1470 LCA模板题。。输入有点坑,还有输入的第一个结点不一定是根节点。 代码如下:#include #include #include #include #include #include #include #include #...
分类:其他好文   时间:2015-04-09 11:51:08    阅读次数:133
POJ 1330 Nearest Common Ancestors (在线LCA转RMQ)
题目地址:POJ 1330 在线LCA转RMQ第一发。所谓在线LCA,就是先DFS一次,求出遍历路径和各个点深度,那么求最近公共祖先的时候就可以转化成求从u到v经过的点中深度最小的那个。 纯模板题。 代码如下:#include #include #include #include #include <algorith...
分类:其他好文   时间:2015-04-08 21:32:39    阅读次数:198
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!