关于公共祖先的问题分类: 这类问题有多种解法和类型,根据题目给出的信息去判断使用哪一种 1、给你树,只支持从父亲找儿子,不支持儿子找父亲,最后要求最近公共祖先,使用dfs或者分治 2、支持儿子找父亲,求最近公共祖先,逆序,从儿子找到底,然后比较(具体看本题代码,说不清) 3、不给树,求是否有共同祖先 ...
分类:
其他好文 时间:
2017-03-17 00:19:42
阅读次数:
176
Description yz是Z国的领导人,他规定每个地区的名字只能为26个小写拉丁字母的一个。由于地 区数有可能超过26个,便产生了一个问题,如何辨别名字相同的地区?于是yz规定,一个 地区的描述必须包含它的所有上级,且上级按次序排列。于是,一个地区的描述是一个字符 串。比如说,一个地区的名字为c ...
分类:
其他好文 时间:
2017-03-16 03:15:59
阅读次数:
208
题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而他的基友同时要从他的卧室(c)到图书馆(d)。他们都会走最短路径。现在小仓鼠希望知道,有没有可能在某个地方,可以碰到他的基友? 小 ...
分类:
其他好文 时间:
2017-03-15 22:36:10
阅读次数:
234
管道(pipe)是进程间通信的一种方式,DEMO如下: 管道的特点: 1. 管道是半双工的(数据只能在一个方向上流动) 2. 管道只能在具有公共祖先的两个进程之间使用 对于从父进程到子进程的管道,父进程关闭管道的读端fd[0],子进程关闭写端fd[1]。 对于从子进程到父进程的管道,父进程关闭fd[ ...
分类:
系统相关 时间:
2017-03-14 10:34:36
阅读次数:
162
1、二叉树是个搜索二叉树2、二叉树带有指向parent的指针可转换成两个链表的相交节点3、普通二叉树保存从根节点分别到这两个节点的路径到list1和list2中从list1和list2中找第一个不相等的节点即为最近公共祖先节点template<classT>
BinaryTreeNode<T>*BinaryTree<..
分类:
其他好文 时间:
2017-03-11 22:16:04
阅读次数:
319
Description 给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。 有q次询问,每次询问给出l r z,求sigma_{l<=i<=r}dep[LCA(i,z)]。 ( ...
分类:
其他好文 时间:
2017-03-01 12:06:34
阅读次数:
191
题意:给定一棵树,每次询问给出l r z,求在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和 题解: 显然,暴力求解的复杂度是无法承受的。 考虑这样的一种暴力,我们把 z 到根上的点全部打标记,对于 l 到 r 之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实就是 ...
分类:
其他好文 时间:
2017-02-26 15:32:03
阅读次数:
176
没用的话:好像好久没更博了,无聊就讲讲算法吧(主要找不到水题)。 感觉针对初学者,老师教这个算法时没怎么懂,最近(大概1、2个月前吧)老师又教了lca(最近公共祖先,额,可以百度,我就不讲了,可能以后会再写一篇博客关于这个)讲到lca转RMQ才又回来认真复(xue)习(xi)。大概搞懂了,本质是dp ...
分类:
编程语言 时间:
2017-02-17 21:46:41
阅读次数:
145
题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行 ...
分类:
其他好文 时间:
2017-02-04 10:44:17
阅读次数:
276
LCA:(Least Common Ancestors),即最近公共祖先节点。 ...
分类:
其他好文 时间:
2017-01-25 17:33:07
阅读次数:
330