码迷,mamicode.com
首页 >  
搜索关键字:祖先    ( 1773个结果
树的基本概念
1. 树 根、子树、结点、孩子、双亲、兄弟、堂兄弟、祖先、子孙 结点的度:结点拥有的子树数 树的度:树内各结点度的最大值 树的深度(高度):结点的最大层次 叶子(终端结点):度为0的节点 分支节点(非终端结点):度不为0的节点 2. 二叉树 特点:每个结点至多有两个子树,且子树有左右之分。 性质1:...
分类:其他好文   时间:2014-08-10 18:07:10    阅读次数:236
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
Hdu 4916 Count on the path
题意:给定一棵树顶点标号为连续的1~n,每次在线询问不在a-b路径上标号最小的点 这题想了好久,假设1为首先如果a-b不过根节点1,答案一定是1。否则我们用fa[i]表示i节点的父亲,belong[i]表示i节点祖先是belong[i],且belong[i]是根节点儿子。这样我们可以预处理出ans[i]表示在belong[i]这颗子树中除去i到根节点的路径中最小的值。统计答案即可。 讨论时需注...
分类:其他好文   时间:2014-08-06 19:08:52    阅读次数:248
UVA1267 - Network
题意:n台及其连成一个树状网络,其中叶结点是客户端,其他结点是服务器。已经有一台服务器提供VOD服务,要求出最少在几个记得点放置服务器,使得所有客户端到服务器的距离都不超过k。 思路:先将无根树状化为有根树。之后就利用贪心,找到深度最大的结点u,每次放置服务器的地方都要放在u的k级祖先,这样是最划算的。 #include #include #include #includ...
分类:Web程序   时间:2014-08-06 12:00:31    阅读次数:225
普林斯顿公开课 算法1-11:并查集的应用
应用渗透问题游戏中会用到。动态连接近期共同祖先等价有限状态机物理学Hoshen-Kopelman算法:就是对网格中的像素进行分块Hinley-Milner多态类型判断Kruskai最小生成树Fortran等价语句编译形态学开闭属性Matlab中关于图像处理的bwlabel函数渗透问题一个N×N的矩阵...
分类:其他好文   时间:2014-08-05 22:21:00    阅读次数:318
JS事件冒泡
JavaSciprt事件中有两个很重要的特性:事件冒泡以及目标元素。事件冒泡: 当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这 一过程被称为事件冒泡;这个事件从原始元素开始一直冒泡到DOM树的最上层。目标元素: 任何一个事件的目标元素都是...
分类:Web程序   时间:2014-08-05 13:47:19    阅读次数:338
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!