题意:提供一棵家族树,询问离两人最近的公共祖先。思路:看大神代码得知此思路。用map保存儿子到父亲的映射,查询时,两人共同回溯到根,中间相遇的那个节点就是答案了。先用其中一个来回溯到根,记录路径上的节点为访问过,再用另一个来回溯到根,期间只要第一次碰到已经访问过的节点,就是答案。 1 #includ...
分类:
其他好文 时间:
2015-04-27 14:44:38
阅读次数:
214
最近做到一道题目,大概的意思就是求一个多叉树中两个节点的最近公共祖先,输入是用邻接矩阵表示的。要想理解tarjan算法并实现它,需要先理解一下内容:1) 深度优先搜索;tarjan算法核心思想:当某节点刚刚搜索完毕时,看与其相关的结点v是否已经被访问,如果v已经被访问过了,则它们的最近公共祖先就是v...
分类:
编程语言 时间:
2015-04-26 15:12:34
阅读次数:
138
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
题目地址:POJ 1330
在线LCA转RMQ第一发。所谓在线LCA,就是先DFS一次,求出遍历路径和各个点深度,那么求最近公共祖先的时候就可以转化成求从u到v经过的点中深度最小的那个。
纯模板题。
代码如下:#include
#include
#include
#include
#include <algorith...
分类:
其他好文 时间:
2015-04-08 21:32:39
阅读次数:
198
root指向一棵二叉树的头结点,p和q分别指向该二叉树中任意两个结点的指针,编写算法,找到p和q的最近公共祖先结点r。
为了不失一般性,设p在q的左边。同时,为了编写方便,将以p和q所指结点的值代替p和q本身。根据【后续遍历最后访问根节点,在递归算法中,根是压在栈底的】,很容易想到,采用后序遍历非递归算法:栈中存放二叉树结点的指针。当访问到某结点时,栈中所有的元素都是该结点的祖先。设一个辅助栈,当没...
分类:
其他好文 时间:
2015-04-04 21:18:20
阅读次数:
150
原题地址根据提示用Spase Table做将Tree先展成List,因为数组长度等于边数的2倍,树中边数等于节点数-1,所以List数组只要开2倍节点数大小即可WA了几次,原来是查询的时候出现左边界大于右边界的情况,所以这种情况要颠倒一下代码: 1 #include 2 #include 3 #.....
分类:
其他好文 时间:
2015-04-01 11:07:58
阅读次数:
127
原题地址超时、超内存都碰到了。。最后还是参考了这篇博文才勉强AC需要注意:1. 肯定是树而不是森林,而且树的根节点一定是第一个出现的名字,所以不需要再去找哪个是根了。这样可以节省一部分内存。2. 用并查集路径压缩的方法维护并查集结构即可,当查找的时候再压缩,不需要每次染黑节点的时候都压缩。这样可以节...
分类:
其他好文 时间:
2015-03-30 00:55:49
阅读次数:
155
原题地址A和A的共同祖先是A,即使A没有在之前的家谱中出现过!被这个坑了,WA了很久。。。比如:小头爸爸是大头儿子他爹,问:隔壁王叔叔和隔壁王叔叔的最近祖先是谁?,答:隔壁王叔叔。代码: 1 #include 2 #include 3 #include 4 #include 5 6 usi...
分类:
其他好文 时间:
2015-03-29 20:50:28
阅读次数:
132
题目地址:HDU 2586
LCA第一发。
纯模板题。
偷懒用的vector,结果一直爆栈。把G++改成C++就过了。。
代码如下:#include
#include
#include
#include
#include
#include
#include ...
分类:
其他好文 时间:
2015-03-27 22:16:23
阅读次数:
176
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其中,但这是为什么呢?
“为什么呢?”小Hi如是问道,在他的观察中小Ho已经沉迷这个网站一周之久了,甚至连他心爱的树玩具都弃置一边。
“嘿嘿,小Hi,你快过来看!”小Ho招呼道。
“你看,在这个对...
分类:
其他好文 时间:
2015-03-21 18:44:44
阅读次数:
146