码迷,mamicode.com
首页 >  
搜索关键字:最近公共祖先    ( 546个结果
hihocoder #1062 : 最近公共祖先·一(小数据量 map+set模拟+标记检查 *【模板】思路 )
#1062 : 最近公共祖先·一时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其中,但这是为什么呢?“为什么呢?”小Hi如是问道,在他的观察中小Ho已经沉迷这个网站一周之久了,甚至连他心爱...
分类:其他好文   时间:2015-02-07 10:18:58    阅读次数:157
hihoCoder - 1062 - 最近公共祖先·一 (树的最近公共祖先问题!)
#1062 : 最近公共祖先·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其中,但这是为什么呢? “为什么呢?”小Hi如是问道,在他的观察中小Ho已经沉迷这个网站一周之久了,甚至连他心爱的树玩具都弃置一边。 “嘿嘿,小H...
分类:其他好文   时间:2015-02-05 18:33:50    阅读次数:264
poj 1330 LCA 最近公共祖先
水题目。直接上代码了。 VIEW CODE #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int mmax= 10010; const int mod=1...
分类:其他好文   时间:2015-02-03 17:25:37    阅读次数:150
hdu 2586 树上点对最近距离 (lca)
,只要知道dis[i][j]=dis[i][root]+dis[j][root]-2*dis[Lca(i,j)][root].   其中root为树的根节点,LCA(i,j)为i,j的最近公共祖先。 所以我们先把所有的询问储存下来,然后离线直接查询。复杂度是o(n+q)的。 VIE#include #include #include #include #include #include #inc...
分类:其他好文   时间:2015-02-03 17:17:34    阅读次数:160
URAL 1471(lca tarjan算法)
题意:给定一棵树,查询时给定两个点,求出两个点的距离。 暴力做肯定超时的。我的做法是采用lca(最近公共祖先)的离线算法,即tarjan算法(据说Tarjan提出了很多算法,可能还有很多tarjan算法),算法里用到了并查集。在输入完所有查询之后,在求出答案。tarjan算法的做法是:一开始vis数组初始化为0,从树根开始递归往下对点进行染色,刚到一个点的时候将vis取为-1,在继续递归...
分类:编程语言   时间:2015-01-24 09:02:19    阅读次数:260
HDU 2586 How far away ?
How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6309    Accepted Submission(s): 2368 Problem Description There are n...
分类:其他好文   时间:2015-01-24 01:39:28    阅读次数:221
算法模板——LCA(最近公共祖先)
实现的功能如下——在一个N个点的无环图中,共有N-1条边,M个访问中每次询问两个点的距离原理——既然N个点,N-1条边,则说明这是一棵树,而且联通。所以以1为根节点DFS建树,然后通过求两点的LCA的方式,先求得最近公共祖先,然后再通过深度来求出两点距离 1 type 2 point=^...
分类:编程语言   时间:2015-01-20 00:53:40    阅读次数:324
HDU2586 How far away ?【最近公共祖先】【Tarjan-LCA算法】
题目大意:一个村庄有N个房子和一些双向的路,人们总是喜欢问"A到B有多远呢",一般是很难 回答的,毕竟有很多种答案。所幸,答案是唯一的,A到B总是有唯一的路径到达。第一行是T组 数据。每组数据第一行是N个房子和M条询问。接下来N-1行每行是u v w,表示从房子u到房子v 的距离是w。接下来是M行询问。每行是u v,表示询问房子u到房子v的距离,最后输出所有的询 问结果。 思路:整个村庄房子和路可看成一棵树,设根结点为房子1,询问u到房子v的距离,其实就是求u 到根结点的距离 + v到根结点的距离 - 2*...
分类:编程语言   时间:2014-12-31 22:54:13    阅读次数:254
POJ1330 Nearest Common Ancestors【最近公共祖先】【Tarjan-LCA算法】
题目大意:给你一棵树,有N个结点,N-1条边。最后询问距离树上两个点(u,v)最近的 公共祖先是多少。 比如上图:6和16的最近公共祖先就是4;14和1的最近公共祖先就是1。 思路:对于最近公共祖先LCA问题,最经典的离线算法是Tarjan-LCA算法。用链式前向 星存储图和询问,Head[]和Edges[]表示图(树),QHead[]和QEdges[]表示询问。集合 的操作用并查集实现。这道题里用了indegree[]数组来存储结点的入度,找到入度为0的 根结点root,调用LCA(root)。 Tarj...
分类:编程语言   时间:2014-12-31 21:35:07    阅读次数:161
POJ1986 Distance Queries【最近公共祖先】【Tarjan-LCA算法】
题目大意:John是一个农场主,他的牛很懒,拒绝按照John选的路走。John不得不找一条 最短的路。这道题的输入前半部分和POJ1984"Navigation Nightmare"相同。在每组数据 之后是一个整数K,接下来K行是询问(u,v)的曼哈顿距离(u,v是农场编号)。最后输出所有 询问结果。 POJ1984链接:http://poj.org/problem?id=1984 思路:本题输入有些特殊,给出的是某点在某点的某个方向(东西南北)有多远。由于输入数 据比较特殊。全部是有向边,且构不成回路,所...
分类:编程语言   时间:2014-12-31 21:31:53    阅读次数:174
546条   上一页 1 ... 47 48 49 50 51 ... 55 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!