码迷,mamicode.com
首页 >  
搜索关键字:公共祖先    ( 693个结果
HDU 1503 Advanced Fruits
求最短公共祖先,是最长公共子序列的变形。在DP的同时记录下路径,然后递归回去输出即可。如果碰到公共的,只输出一次。以第一个样例为例:图中数字是最大公共子段的长度,下标代表路径。带下划线的是递归时所走的路径。 1 //#define LOCAL 2 #include 3 #include 4 #i.....
分类:其他好文   时间:2014-07-31 16:02:46    阅读次数:232
并查集(uva10608)
一 基础知识梳理:并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。使用并查集时,首先会存在一组...
分类:其他好文   时间:2014-07-27 22:19:59    阅读次数:323
Nearest Common Ancestors
poj1330:http://poj.org/problem?id=1330题意:求一棵树上的两点的最近的公共祖先。题解:第一次接触LCA,第一道模板题。 1 #include 2 #include 3 #include 4 #include 5 using namespace s...
分类:其他好文   时间:2014-07-27 22:06:30    阅读次数:243
数据结构之并查集
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组不相交的动态集合 S={S1,S2,?,Sk},一般都会使用一个整数表示集合中的一个元素。 每个集合可能包含一个...
分类:其他好文   时间:2014-07-19 23:23:29    阅读次数:378
【APUE】进程间通信之管道
管道是UNIX系统IPC最古老形式,并且所有UNIX系统都提供此种通信机制。管道由下面两种局限性:1)历史上,它们是半双工的(即数据只能在一个方向上流动)2)它们只能在具有公共祖先的进程之间使用。通常,一个管道由一个进程创建,然后该进程调用fork,此后父、子进程之间就可应用该管道管道由调用pipe...
分类:其他好文   时间:2014-07-19 22:19:57    阅读次数:189
poj 1308 Is It A Tree?
树 除了空树外,有且仅有一个根结点,且除根结点外,其余结点有且仅有一个前驱 判断图是否为树,则需判断它们的公共祖先是否仅有一个,且入度都小于2,并且不能形成环...
分类:其他好文   时间:2014-07-18 21:38:48    阅读次数:160
数石子RQNOJ 并查集
巧妙的并查集。对于 i,j,k 可以表示 d[j] - d[i-1]= k;若i,j有公共祖先 则可以求出 分别到 祖先的距离,差值就是答案。#include#include#include#include#include#include#include#include#include#includ...
分类:其他好文   时间:2014-07-16 18:33:17    阅读次数:164
POJ 1986 Distance Queries LCA树上两点的距离
题目来源:POJ 1986 Distance Queries 题意:给你一颗树 q次询问 每次询问你两点之间的距离 思路:对于2点 u v dis(u,v) = dis(root,u) + dis(root,v) - 2*dis(roor,LCA(u,v)) 求最近公共祖先和dis数组 #include #include #include using namespace std; co...
分类:其他好文   时间:2014-07-10 23:50:17    阅读次数:326
并查集 Union-Find
并查集能做什么? 1.连接两个对象; 2.查询两个对象是否在一个集合中,或者说两个对象是否是连接在一起的。 并查集有什么应用? 1. Percolation问题、 2. 无向图连通子图个数 3. 最近公共祖先问题 4. Kruskal最小生成树 5. 社交网络 等等 并查集数据结构: 并查集是一种树...
分类:其他好文   时间:2014-07-09 14:13:20    阅读次数:214
最近公共祖先模版
LCA tarjan 的离线算法 #include #include #include using namespace std; const int maxn = 40010; int first[maxn], head[maxn], cnt, sum; struct edge { int u, v, w, next; }e[maxn*2], qe[maxn], Q[maxn]; int...
分类:其他好文   时间:2014-07-09 10:23:35    阅读次数:256
693条   上一页 1 ... 66 67 68 69 70 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!