Union Find
动态链接:
这里union(x,y) 相当于一个函数,这个函数建立两个点,x,y的链接。而connected(x,y)用于检测两点的链接性,即是否处于链接状态.
connected(0,7)就是用于检测0,7这两点是否相连。
Union find能做很酷帅的事情,迷宫连通图的查找~...
分类:
其他好文 时间:
2014-09-07 12:21:33
阅读次数:
281
图的连通性
有向无环图中唯一出度为0的点,一定可以由任何点出发均可达(由于无环,所以从任何点出发往前走,必然终止于一个出度为0的点)
有向无环图中所有入度不为0的点,一定可以由某个入度为0的点出发可达。(由于无环,所以从任何入度不为0的点往回走,必然终止于一个入度为0的点)
假定有 n 个入度为0的点,m个出度为0的点,max(m,n)就是第二个问题的解
无向连通图中,如果删除某点后,图变...
分类:
其他好文 时间:
2014-09-07 11:04:05
阅读次数:
157
首先要强连通缩点,统计新的图的各点的出度和入度。第一问直接输出入度为0的点的个数第二问是要是新的图变成一个强连通图,那么每一个点至少要有一条出边和一条入边,输出出度和入度为0的点数大的那一个注意特判,输入已经是一个极大强连通图的情况,输出 1 0code/* 无向图强连通的Garbow算...
分类:
Web程序 时间:
2014-09-04 23:30:30
阅读次数:
266
给出一个无向连通图以及边权,目的求从一个点到另一个点的路径中 边权最大值 最小的那条路径,输出的是该条路径的最大边权。
因为是两点间路径问题,且数据量很小(只有100个) ,所以考虑使用floyd算法。
但是要求的并不是传统 floyd 所求的 两点之间最短路 问题,但是通过理解floyd算法的原理,可以发现floyd的思想可以用来解决这种问题:
对于任何一条至少包含两条边的路径i->j,一...
分类:
其他好文 时间:
2014-09-01 15:37:13
阅读次数:
163
UVA 610 - Street Directions
题目链接
题意:给定一个无向图,要求把尽可能多的边定向,使得形成一个强连通图,输出定向后的图,不能定向的边就变成两条有向边
思路:找出割边,只有割边是需要定成两条的,其他的双连通分量中,边肯定都可以定向,然后在dfs不经过割边打印路径,最后在打印出割边(拆成两条)
代码:
#include
#include
...
分类:
其他好文 时间:
2014-09-01 00:27:52
阅读次数:
274
ZOJ 2588 Burning Bridges
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2588
题意:给定一个无向图连通图,(其中可能有重边),要求去掉一条边之后,使得整个图不再连通。输出这些符合条件的边的序号。
思路:这就是一个简单的无向图求割边,需要注意的是这个无向图有重边,重边一...
分类:
其他好文 时间:
2014-08-31 18:44:01
阅读次数:
267
最近学习了一下 最小生成树 算法。
所谓最小生成树算法,就是给出一个连通图g[ maxn ][ maxn ], 找出这个连通图的边权和最小的生成图(树)。
可以实现这个目的的算法,我叫它最小生成树算法。kruskal算法就是我学到的一种实现这种功能的算法。
对于kruskal算法的描述以及简单的证明在刘汝佳第二版上已经说得够明白
本题就是求 最小生成树 里面的 最大边权和最小边权 相差最...
分类:
其他好文 时间:
2014-08-30 16:29:49
阅读次数:
235
UVA 1108 - Mining Your Own Business
题目链接
题意:给定一个连通图,设置一个些安全点,使得其他任意一些节点崩塌后,其他点都能到一个安全点,问安全点最小数量和情况数
思路:
#include
#include
#include
#include
#include
using namespace std;
const int N ...
分类:
其他好文 时间:
2014-08-29 21:26:28
阅读次数:
219
题意:
给你一幅无向图 计算它有多少生成子图是仙人掌 如果它本身不是仙人掌输出0
思路:
无向图的仙人掌是一个连通图且一条边最多在一个环上
对于这道题 需要区分“生成子图”和“导出子图”的概念
生成子图:包含G的所有顶点V和其中一些边的子图
导出子图:选择G中一些点组成集合V',将E中所有两端点在V'中的边全部找出形成的子图叫点导出子图;选择G中一些边组成集合E',将V中所有与E'中的边有关系的点全部找出形成的子图叫边导出子图。
那么这道题就是说你要扔掉一些边 使图还是仙人掌 问方案...
分类:
其他好文 时间:
2014-08-27 18:41:08
阅读次数:
229
题意:
一幅有向图是不是仙人掌
思路:
有向图仙人掌是强连通图且每条边最多只属于一个环
一幅有向图是仙人掌当且仅当满足3个条件:
1、dfs树无横向边
2、对于节点u的所有儿子v,它们的low[v]
3、满足low[v]
证明见 http://download.csdn.net/detail/kksleric/4502360
代码:
#include
#include
#i...
分类:
其他好文 时间:
2014-08-27 14:43:58
阅读次数:
196