码迷,mamicode.com
首页 >  
搜索关键字:连通图    ( 1192个结果
Union Find
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
POJ 1236.Network of Schools 解题报告
首先要强连通缩点,统计新的图的各点的出度和入度。第一问直接输出入度为0的点的个数第二问是要是新的图变成一个强连通图,那么每一个点至少要有一条出边和一条入边,输出出度和入度为0的点数大的那一个注意特判,输入已经是一个极大强连通图的情况,输出 1 0code/* 无向图强连通的Garbow算...
分类:Web程序   时间:2014-09-04 23:30:30    阅读次数:266
uva 10048 - Audiophobia(floyd 的变形)
给出一个无向连通图以及边权,目的求从一个点到另一个点的路径中 边权最大值 最小的那条路径,输出的是该条路径的最大边权。 因为是两点间路径问题,且数据量很小(只有100个) ,所以考虑使用floyd算法。 但是要求的并不是传统 floyd 所求的 两点之间最短路 问题,但是通过理解floyd算法的原理,可以发现floyd的思想可以用来解决这种问题: 对于任何一条至少包含两条边的路径i->j,一...
分类:其他好文   时间:2014-09-01 15:37:13    阅读次数:163
UVA 610 - Street Directions(割边)
UVA 610 - Street Directions 题目链接 题意:给定一个无向图,要求把尽可能多的边定向,使得形成一个强连通图,输出定向后的图,不能定向的边就变成两条有向边 思路:找出割边,只有割边是需要定成两条的,其他的双连通分量中,边肯定都可以定向,然后在dfs不经过割边打印路径,最后在打印出割边(拆成两条) 代码: #include #include ...
分类:其他好文   时间:2014-09-01 00:27:52    阅读次数:274
ZOJ 2588 Burning Bridges(无向图求割边)
ZOJ 2588 Burning Bridges 链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2588 题意:给定一个无向图连通图,(其中可能有重边),要求去掉一条边之后,使得整个图不再连通。输出这些符合条件的边的序号。 思路:这就是一个简单的无向图求割边,需要注意的是这个无向图有重边,重边一...
分类:其他好文   时间:2014-08-31 18:44:01    阅读次数:267
uva 1395 - Slim Span poj 3522 Slim Span(最小生成树算法)
最近学习了一下 最小生成树 算法。 所谓最小生成树算法,就是给出一个连通图g[ maxn ][ maxn  ], 找出这个连通图的边权和最小的生成图(树)。 可以实现这个目的的算法,我叫它最小生成树算法。kruskal算法就是我学到的一种实现这种功能的算法。 对于kruskal算法的描述以及简单的证明在刘汝佳第二版上已经说得够明白 本题就是求 最小生成树 里面的 最大边权和最小边权 相差最...
分类:其他好文   时间:2014-08-30 16:29:49    阅读次数:235
UVA 1108 - Mining Your Own Business(双连通分量)
UVA 1108 - Mining Your Own Business 题目链接 题意:给定一个连通图,设置一个些安全点,使得其他任意一些节点崩塌后,其他点都能到一个安全点,问安全点最小数量和情况数 思路: #include #include #include #include #include using namespace std; const int N ...
分类:其他好文   时间:2014-08-29 21:26:28    阅读次数:219
POJ 2793 Cactus
题意: 给你一幅无向图 计算它有多少生成子图是仙人掌 如果它本身不是仙人掌输出0 思路: 无向图的仙人掌是一个连通图且一条边最多在一个环上 对于这道题 需要区分“生成子图”和“导出子图”的概念 生成子图:包含G的所有顶点V和其中一些边的子图 导出子图:选择G中一些点组成集合V',将E中所有两端点在V'中的边全部找出形成的子图叫点导出子图;选择G中一些边组成集合E',将V中所有与E'中的边有关系的点全部找出形成的子图叫边导出子图。 那么这道题就是说你要扔掉一些边 使图还是仙人掌 问方案...
分类:其他好文   时间:2014-08-27 18:41:08    阅读次数:229
HDU 3594 Cactus
题意: 一幅有向图是不是仙人掌 思路: 有向图仙人掌是强连通图且每条边最多只属于一个环 一幅有向图是仙人掌当且仅当满足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
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!