码迷,mamicode.com
首页 >  
搜索关键字:最近公共祖先    ( 546个结果
HDU 2586 LCA-Tarjan
还是LCA-tarjan算法,跟POJ 1330做法基本类似,只是这个题目要求输出两个点的最短距离,其实利用LCA的性质,就是 两个点分别到最近公共祖先的距离之和一开始本来想用并查集把路径长度给找出来,但是不太好处理,原因是我刚好找到的这个点还没有加入到并查集中,(因为还没回溯上去),如果马上就合并...
分类:其他好文   时间:2014-08-10 18:06:30    阅读次数:274
poj 1330 Nearest Common Ancestors (LCA)
题意:求两个点的最近公共祖先。 1A#include #include #include #include #define maxn 100010 using namespace std; int fa[maxn],lev[maxn],pre[maxn],c1,c2; vector son[maxn]; bool dfs(int rt,int obj) { for(int i...
分类:其他好文   时间:2014-08-10 15:42:40    阅读次数:261
POJ 1330 LCA最近公共祖先 离线tarjan算法
题意要求一棵树上,两个点的最近公共祖先 即LCA现学了一下LCA-Tarjan算法,还挺好理解的,这是个离线的算法,先把询问存贮起来,在一遍dfs过程中,找到了对应的询问点,即可输出原理用了并查集和dfs染色,先dfs到底层开始往上回溯,边并查集合并 一边染色,这样只要询问的两个点均被染色了,就可以...
分类:其他好文   时间:2014-08-10 15:39:20    阅读次数:215
LCA问题
基本概念LCA:树上的最近公共祖先,对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。RMQ:区间最小值查询问题。对于长度为n的数列A,回答若干询问RMQ(A,i,j),返回数列A中下标在[i,j]里的最小值下标。朴素LCA算法求出...
分类:其他好文   时间:2014-08-08 17:36:16    阅读次数:226
HDU 2586 + HDU 4912 最近公共祖先
先给个LCA模板HDU 1330(LCA模板)#include #include #define N 40005struct Edge{ int x,y,d,ne;};Edge e[N*2],e2[N*2];int be[N],be2[N],all,all2,n,m;bool vis[N];i...
分类:其他好文   时间:2014-08-06 21:57:33    阅读次数:335
并查集(uva10608)
一 基础知识梳理:并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。使用并查集时,首先会存在一组...
分类:其他好文   时间:2014-07-27 22:19:59    阅读次数:323
数据结构之并查集
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组不相交的动态集合 S={S1,S2,?,Sk},一般都会使用一个整数表示集合中的一个元素。 每个集合可能包含一个...
分类:其他好文   时间:2014-07-19 23:23:29    阅读次数:378
POJ 1986 Distance Queries LCA树上两点的距离
题目来源:POJ 1986 Distance Queries 题意:给你一颗树 q次询问 每次询问你两点之间的距离 思路:对于2点 u v dis(u,v) = dis(root,u) + dis(root,v) - 2*dis(roor,LCA(u,v)) 求最近公共祖先和dis数组 #include #include #include using namespace std; co...
分类:其他好文   时间:2014-07-10 23:50:17    阅读次数:326
并查集 Union-Find
并查集能做什么? 1.连接两个对象; 2.查询两个对象是否在一个集合中,或者说两个对象是否是连接在一起的。 并查集有什么应用? 1. Percolation问题、 2. 无向图连通子图个数 3. 最近公共祖先问题 4. Kruskal最小生成树 5. 社交网络 等等 并查集数据结构: 并查集是一种树...
分类:其他好文   时间:2014-07-09 14:13:20    阅读次数:214
最近公共祖先模版
LCA tarjan 的离线算法 #include #include #include using namespace std; const int maxn = 40010; int first[maxn], head[maxn], cnt, sum; struct edge { int u, v, w, next; }e[maxn*2], qe[maxn], Q[maxn]; int...
分类:其他好文   时间:2014-07-09 10:23:35    阅读次数:256
546条   上一页 1 ... 52 53 54 55 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!