码迷,mamicode.com
首页 >  
搜索关键字:最近公共祖先    ( 546个结果
POJ1330Nearest Common Ancestors——最近公共祖先
http://poj.org/problem?id=1330给一个有根树,一个查询节点(u,v)的最近公共祖先836K 16MS#include #include #include #include #include #include #include #include<map...
分类:其他好文   时间:2015-03-13 12:43:43    阅读次数:114
hiho一下 第十五周——最近公共祖先·二(Trajan,离线LCA)
题目连接http://hihocoder.com/problemset/problem/1067题目大意就是一棵树求任意两个节点的最近公共祖先。算法描述在题目的提示里面有比较详细的解释。这里就不多说了。这种算法的时间复杂度是O(n+q)。 在算法的实现上也有一些技巧,在参考了一些代码后写了一个比较精简的Trajan_LAC算法。#include using name...
分类:其他好文   时间:2015-03-09 14:30:48    阅读次数:132
【树链剖分】【树状数组】【最近公共祖先】【块状树】bzoj3631 [JLOI2014]松鼠的新家
裸题,树状数组区间修改+单点查询。当然要稍微讨论一下链的左右端点是否修改的情况咯。#include#include#includeusing namespace std;#define N 300001int en,v[Nsiz[son[U]]) son[U]=v[i]; ...
分类:编程语言   时间:2015-03-09 14:26:55    阅读次数:142
【树链剖分】【分块】【最近公共祖先】【块状树】bzoj1984 月下“毛景树”
裸题,但是因为权在边上,所以要先把边权放到这条边的子节点上,然后进行链更新/查询的时候不能更新/查询其lca。#include#include#includeusing namespace std;#define N 100001#define BN 320#define INF 214748364...
分类:其他好文   时间:2015-03-08 18:46:58    阅读次数:460
【LCA|Tarjan】POJ-1330 Nearest Common Ancestors
T组数据,每组数据给出N个点和N-1条边,每条边先给出父结点,最后一行查询一对结点,输出它们的最近公共祖先。...
分类:其他好文   时间:2015-03-07 14:08:58    阅读次数:169
LCA最近公共祖先 在线算法和离线算法 模板
原理讲解:http://dongxicheng.org/structure/lca-rmq/ 在线算法模板: /** LCA在线算法O(nlogn) 主函数调用: init(); tot=0,dir[1]=0; dfs(1,1); ST(2*n-1); int lca=LCA(u,v); */ #include #include #include #include #inclu...
分类:编程语言   时间:2015-03-01 18:33:50    阅读次数:168
uestc 方老师和农场
转自http://www.cnblogs.com/whatbeg/p/3765624.html首先将原图中的连通分量缩点,一定可以将原图缩成一棵树的形式,然后统计这棵树的叶子节点个数,答案就是(leaf+1)/2。这里不再证明,可以画个图看一下。(简单说明一下,首先把两个最近公共祖先最远的两个叶节点...
分类:其他好文   时间:2015-02-28 18:35:47    阅读次数:207
hihocoder1069最近公共祖先·三(LCA在线算法--DFS+RMQ-ST)
树上任意两点的最近祖先,必定就是这两个节点的最短路径上深度最小的那个点。例如:下图中,节点7和5,其最短路径为7--4--1--5, 这条路径上深度最小的点为节点1,其深度为1.节点1即为节点7和5的LCA。因此,要找到任意两个节点的LCA,只需要先找到上述最短路径,再找到最短路径中深度最小的点。而...
分类:编程语言   时间:2015-02-21 20:59:24    阅读次数:949
hicocoder1067 最近公共祖先·二(tarjan算法)
tarjan算法是处理最近公共祖先问题的一种离线算法。算法思路:先将所有的询问搜集起来。然后对树进行dfs,在dfs的过程中对节点进行着色。当到达某个节点x的时候,给x着色为灰色,离开x的时候,着色为黑色。当到达x并将其着色为灰色后,处理与x相关联的所有询问:(这里有一个显然的事实:所有的灰色节点都...
分类:编程语言   时间:2015-02-21 14:19:52    阅读次数:222
hihocoder1062 最近公共祖先·一
问题描述:已知人名构成的父子关系树(或者森林),对于给定的两个人名name1和name2,求其最近公共祖先。题目保证人名不重复。分析:利用C++ STL中的map和set容器可以很方便的实现。用map容器存储父子关系。对于每一个询问,先将从name1开始到树根的路径上的所有人名放入一个set容器,然...
分类:其他好文   时间:2015-02-20 18:36:15    阅读次数:164
546条   上一页 1 ... 46 47 48 49 50 ... 55 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!