E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
.....最近公共祖先
POJ1986 DistanceQueries
最近公共祖先
LCA 离线算法Tarjan
这道题与之前那两道模板题不同的是,路径有了权值,而且边是双向的,root已经给出来了,就是1,(这个地方如果还按之前那样来计算入度是会出错的。数据里会出现多个root。。。数据地址可以在poj的discuss板块看到)。两个节点之间的距离,可以这样处理:先处理出每个节点i到根的距离dist[i],则节点a,b之间的距离就是dist[a]+dist[b]-2*dist[LCA(a,b)],或者是在L
·
2015-11-13 16:14
tar
1329. Galactic History
space=1&num=1329
最近公共祖先
代码: #include<iostream> #include<stdio.h> #include<string.h
·
2015-11-13 12:03
history
Hdu 4547 【
最近公共祖先
】.cpp
思路: 求出a和b的
最近公共祖先
,然后分4种情况讨论 ①. a和b有一个公共祖先c,则
·
2015-11-13 12:12
HDU
LCA
最近公共祖先
tarjan离线 总结 结合3个例题
在网上找了一些对tarjan算法解释较好的文章 并加入了自己的理解 LCA(Least Common Ancestor),顾名思义,是指在一棵树中,距离两个点最近的两者的公共节点。也就是说,在两个点通往根的道路上,肯定会有公共的节点,我们就是要求找到公共的节点中,深度尽量深的点。还可以表示成另一种说法,就是如果把树看成是一个图,这找到这两个点中的最短距离。 &nbs
·
2015-11-13 12:34
tar
1699. Turning Turtles
space=1&num=1699 从一个点到另一个点正好有一条路 所以原图是一棵树 先求出每一对点的
最近公共祖先
lca 然后一遍dfs 求出每个点到它的lca的转弯数 最后还要判定两个点在
·
2015-11-13 12:46
in
美团算法工程师一面
写出二叉树的数据结构,假设每个节点有指向其父节点的指针, 求出两个二叉树节点的
最近公共祖先
。 2.
·
2015-11-13 11:34
算法
最近公共祖先
(lca)
囧啊囧。 lca的求法太多了 倍增,tarjan,st,lct,hld.... 后边三个我就不写了,其中st我没写过,估计用不上,在线用倍增,离线用tarjan就行了。 嗯。 第一种,倍增(O(nlogn)~O(logn),在线): 倍增的思想用在树上,即可以求出lca。 我们维护二维数组,f[i][j],表示i号点的第2^j号祖先,显然2^0=1也就是f[i][0]就是他的父亲 我
·
2015-11-13 10:36
ca
HDU2874 LCA
所以先预处理出a,b的
最近公共祖先
,和他们各自的距离。 比如a,b的
最近公共祖先
为father(简易图) aa----father----b  
·
2015-11-13 05:25
HDU
LCA问题
基本概念 LCA:树上的
最近公共祖先
,对于有根树T的两个结点u、v,
最近公共祖先
LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。 RMQ:区间最小值查询问题。
·
2015-11-13 03:11
问题
RMQ & LCA
LCA是给定一棵树,动态询问u和v的
最近公共祖先
。 解决这两种问题都有个很重要的倍增思想(这个思想
·
2015-11-13 03:30
MQ
[POJ1330 Nearest Common Ancestors]
[关键字]:LCA [题目大意]:求出两点间的
最近公共祖先
。
·
2015-11-13 02:49
REST
邻接表+dfs+LCA(
最近公共祖先
问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2586 题目大意:有一棵n个节点n-1条边的树。然后给你两个点u,v,让你求u到v的距离。 解题思路: m询问次数比较小,算一下时间复杂度。用邻接表+bfs完全可以过。 会的就不写了,这里我用邻接表+dfs+LCA。
·
2015-11-13 02:06
HDU
Lca与Rmq
关于LCA和RMQ问题 一、
最近公共祖先
(Least Common Ancestors) 对于有根树T的两个结点u、v,
最近公共祖先
LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大
·
2015-11-12 22:02
MQ
POJ1330(Nearest Common Ancestors)
求一棵树中2个点的
最近公共祖先
。 我的做法:用并查集求出每个结点的深度,然后递归求
最近公共祖先
。
·
2015-11-12 22:43
REST
最近公共祖先
(least common ancestors algorithm)
lca问题是
最近公共祖先
问题,一般是针对树结构的。现在有两种方法来解决这样的问题 1. On-line algorithm 用比较长的时间做预处理。然后对每次询问进行回答。
·
2015-11-12 19:21
Algorithm
【POJ】1330 Nearest Common Ancestors ——
最近公共祖先
(LCA)
Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 18136 Accepted: 9608 Description A rooted tree is a well-known data structure in compu
·
2015-11-12 17:49
REST
用“倍增法”求
最近公共祖先
(LCA)
1.
最近公共祖先
:对于有根树T的两个结点u、v,
最近公共祖先
LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。
·
2015-11-12 15:48
ca
UESTC 899 方老师和农场 --双连通分量的构造
(简单说明一下,首先把两个
最近公共祖先
最远的两个叶节点之间连接一条边,这样可以把这两个点到祖先的路径上所有点收缩到一起,因为一个形成的环一定是双连通的。
·
2015-11-12 14:07
UE
sicily 2377 Ants Colony 【LCA Tarjan算法】
传说中的
最近公共祖先
问题(LCA),用Tarjan算法可以过,但注意结果超int.
·
2015-11-12 13:04
ant
Tarjan应用:求割点/桥/缩点/强连通分量/双连通分量/LCA(
最近公共祖先
)【修改】
一、基本概念: 1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。 2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。 3.点连通度:最小割点集合中的顶点数。 4.割边(桥):删掉它之后,图必然会分裂为两个或两个以上的子图。 5.割边集合:如果有一个边集合,删除这个边集合
·
2015-11-12 10:09
tar
[POJ 1330]Nearest Common Ancestors[LCA](O(dep[u] + dep[v]))
题目链接:[POJ1330]NearestCommonAncestors[LCA](O(dep[u]+dep[v]))题意分析:求两个结点的
最近公共祖先
。
CatGlory
·
2015-11-12 00:00
LCA
LCA与RMQ
LCA:Least Common Ancestors(
最近公共祖先
),对于一棵有根树T的任意两个节点u,v,求出LCA(T, u,
·
2015-11-11 19:54
MQ
hdu 2460 poj 3694 (双联通+LCA)
在给出的两个点上加一条边,求剩下桥的数量,,不会LCA在线,就用了最普通的,先Tarjan双联通缩点,然后将缩完的图建成一棵树,树的所有边就是桥了,如果在任意两点间加一条边的话,那么从两点到
最近公共祖先
的所有边都不是桥了
·
2015-11-11 18:39
poj
[Wc2006]水管局长数据加强版 LCA&RMQ
通过构建最小生成树,然后转换成 寻找
最近公共祖先
来求解, 逆序处理询问,将删除改成添加边. 代码在BZOJ上WA了.暂时未找到原因, 先放着...
·
2015-11-11 11:56
MQ
[置顶] LCA的树链剖分实现
计算树中两个节点的
最近公共祖先
,我们一般有爬山法,Tarjan离线算法,或者是将LCA转换成RMQ来解,这里讲一讲一种新的求LCA的算法,它是基于树链剖分的。
·
2015-11-11 09:21
实现
【hihoCoder第十七周】
最近公共祖先
·三
之前就写的是离线算法。思路就是先序一遍树,记录层数,然后高效RMQ就好。ST和线段树都能过。 以后有时间将之前的在线算法补上。 #include <bits/stdc++.h> using namespace std; #define MAXN 100005 #define MAXM 105 #define inf 0x7ffffff int n
·
2015-11-11 07:45
code
【hihoCoder第十五周】
最近公共祖先
·二
老实说我没有读题,看见标题直接就写了,毕竟hiho上面都是裸的算法演练。 大概看了下输入输出,套着bin神的模板,做了个正反map映射,但是怎么都得不了满分。等这周结束后,找高人询问下trick。 若是有人找出了错误,或是发现代码中的不足,求指出。感激!~ 以下是个人80分的代码。(之后献上两天之后的100分代码~_~)。 1 #include <
·
2015-11-11 07:44
code
LCA
最近公共祖先
(least common ancestors)
#include"stdio.h" #include"string.h" #include"iostream" #include"queue" #define M 111111 using namespace std; struct st { int u,v,next,w; }edge[M*2]; int
·
2015-11-10 22:10
com
hdu2586(LCA
最近公共祖先
)
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3653 Accepted Submission(s): 1379
·
2015-11-10 22:09
HDU
最近公共祖先
LCA 【专题@AbandonZHANG】
算法艺术与信息学竞赛》 --- 刘汝佳 博客: http://blog.163.com/kevinlee_2010/blog/static/16982082020120794613496/
最近公共祖先
·
2015-11-08 16:31
ab
最近公共祖先
LCA 【专题@AbandonZHANG】
算法艺术与信息学竞赛》 --- 刘汝佳 博客: http://blog.163.com/kevinlee_2010/blog/static/16982082020120794613496/
最近公共祖先
·
2015-11-08 16:30
ab
最近公共祖先
LCA 【@Abandon】
博客:http://blog.163.com/kevinlee_2010/blog/static/16982082020120794613496/
最近公共祖先
(LCA)问题
最近公共祖先
·
2015-11-08 16:29
ab
POJ 1330 Nearest Common Ancestors 【
最近公共祖先
LCA算法+Tarjan离线算法】
Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20715 Accepted: 10910 Description A rooted tree is a well-known data structure in com
·
2015-11-08 16:34
REST
hihocoder #1062 :
最近公共祖先
·一(小数据量 map+set模拟+标记检查 *【模板】思路 )
#1062 :
最近公共祖先
·一 时间限制: 10000ms 单点时限: 1000ms 内存限制: 256MB 描述 小Ho最近发现了一个神奇的网站!
·
2015-11-08 16:00
code
HDU4547(CD操作)LCA+Tarjan离线算法
/* *题目大意: *题目为天朝文字,不多说; * *算法思想: *题目很明显要求的是一个LCA问题; *即询问从A到B的需要的步数,即首先从A到达A和B的
最近公共祖先
需要的步数
·
2015-11-08 14:32
tar
acdream 1018 Hotel(函数式线段树、
最近公共祖先
)
题目链接:http://www.acdream.net/problem.php?id=1018 题意:给出一棵树,每个节点有一个值w。若干询问,每个询问s,t,a,b,k,询问从s节点走到t节点权值在[a,b]之间的第k个节点。 思路: (1)首先把从根出发到每个点的权值分布用函数式线段树全部记录,则通过函数式线段树的减法操作以及计算两个点LCA就可以得到任意两个点路径上权值a到b的点个数。
·
2015-11-08 11:21
线段树
HDU 4409 Family Name List(LCA)
(3)c name1 name2输出name1和name2 的
最近公共祖先
。 注意(3):如果
最近公共祖先
是name1或者name2,那么要输出
·
2015-11-08 11:17
list
hihoCoder#1069
最近公共祖先
·三
原题地址 根据提示用Spase Table做 将Tree先展成List,因为数组长度等于边数的2倍,树中边数等于节点数-1,所以List数组只要开2倍节点数大小即可 WA了几次,原来是查询的时候出现左边界大于右边界的情况,所以这种情况要颠倒一下 代码: 1 #include <iostream> 2 #include <vecto
·
2015-11-08 10:39
code
hihoCoder#1067
最近公共祖先
·二
原题地址 超时、超内存都碰到了。。最后还是参考了这篇博文才勉强AC 需要注意: 1. 肯定是树而不是森林,而且树的根节点一定是第一个出现的名字,所以不需要再去找哪个是根了。这样可以节省一部分内存。 2. 用并查集路径压缩的方法维护并查集结构即可,当查找的时候再压缩,不需要每次染黑节点的时候都压缩。这样可以节省一部分时间。 3. 字符串都转成id再做。 4. 能静态申请内
·
2015-11-08 10:36
code
hihoCoder#1062
最近公共祖先
·
原题地址 A和A的共同祖先是A,即使A没有在之前的家谱中出现过!被这个坑了,WA了很久。。。 比如:小头爸爸是大头儿子他爹,问:隔壁王叔叔和隔壁王叔叔的最近祖先是谁?,答:隔壁王叔叔。 代码: 1 #include <iostream> 2 #include <map> 3 #include <set> 4
·
2015-11-08 10:35
code
hdu3516
当然我做这道题目的时候,教练已经摆明说要用四边形不等式,所以还是感觉没什么压力的)这样我一眼就看出来了题意描述的问题:应该澄清如果(i,j)这两个点放在一个区间(一棵树上),就必须要以点(xi,yj)作为
最近公共祖先
·
2015-11-07 11:37
HDU
【并查集】【树】
最近公共祖先
LCA-Tarjan算法
最近公共祖先
LCA 双链BT 如果每个结点都有一个指针指向它的父结点,于是我们可以从任何一个结点出发,得到一个到达树根结点的单向链表。
·
2015-11-03 21:49
tar
BZOJ 1977 次小生成树(
最近公共祖先
)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1977 题意:求一棵树的严格次小生成树,即权值严格大于最小生成树且权值最小的生成树。 思路:若现在已经得到了最小生成树,那么若 添加一条边E,就会得到一个环,我们只需要去掉环上权值小于E且最大的一条边就会得到另一棵较优的生成树。因此,只需要枚举不在生成树上的边,计算将其添 加到最小生成
·
2015-11-02 19:12
ZOJ
HDU 4297 One and One Story(图-
最近公共祖先
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4297 题意:给出n个点的有向图,每个点的出度均为1.有m个询问,每个询问两个数(u,v),表示两个人一个在u一个在v。对于每个询问,请你选择一个点P使得u、v均能到达P。设u到达P需要A步,v到达P需要B步。求一个P使得max(A,B)最小?若答案不唯一,输出min(A,B)最小的;若答案还不唯一,
·
2015-11-02 19:50
HDU
[csu/coj 1079]树上路径查询 LCA
题意:询问树上从u到v的路径是否经过k 思路:把树dfs转化为有根树后,对于u,v的路径而言,设p为u,v的
最近公共祖先
,u到v的路径必定是可以看成两条路径的组合,u->p,v->p,这样一来便可以将判断条件转化为
·
2015-11-02 16:56
查询
hdu 2545 树上战争
pid=2545 很裸的一道LCA,就是让你判断谁先到达他们的
最近公共祖先
。
·
2015-11-02 15:53
HDU
hdu 2586 How far away ?
最近公共祖先
问题~~ 题目大意:一个村子里有n个房子,这n个房子用n-1条路连接起来,接下了有m次询问,每次询问两个房子a,b之间的距离是多少。
·
2015-11-02 15:24
HDU
LCA算法
在有根树中,两个结点u和v的公共祖先中距离最近的那个称为
最近公共祖先
(lowest common ancestor)、 如图lca(4,7) = 2, lca(6,8)=1, lca(5,8)=5
·
2015-11-02 13:06
算法
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
一开始觉得是网络流..仔细一看应该是最短路,再看数据范围..呵呵不会写...这道题是最大生成树+
最近公共祖先
。第一次写..表示各种乱..
·
2015-11-02 12:02
code
最近公共祖先
LCA Tarjan算法
最近公共祖先
LCA:Tarjan 算法 这篇博客写的非常不错,我就是看这个学会的。 第一次写
最近公共祖先
问题,用的邻接表指针。
·
2015-11-02 11:11
tar
上一页
32
33
34
35
36
37
38
39
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他