题目:eoj1816
题目分析:判断图是否连通,可用dfs遍历图算法。这里我采用的是并查集的方法。初始化时将每个节点看作一个集合,则每给出一条边即把两个集合合并。最后遍历所有点,有几个集合便有几个连通分量,若只有一个集合说明图连通。
AC代码:
#include
#include
#include
#include
#include
#include
...
分类:
移动开发 时间:
2014-12-24 21:39:09
阅读次数:
199
定义:在有向图上的最小生成树。
算法过程:和最小生成树一样,不过这个不是无向图的,但是也可以用类似的算法,最小树形图的第一个算法数朱刘算法,依据最小生成树数算法形成的。
我们知道,在最小生成树算法中,我们每次选长度最短的边,如果满足条件则加入最小生成树中,知道所有的点都在树中,最小树形图同样。
首先和最小生成树一样,首先必须保证图联通,否则不能形成最小树形图。
但是由于是有向的,而...
分类:
Web程序 时间:
2014-10-31 11:55:30
阅读次数:
246
对于终于生成的最小生成树中最长边所连接的两点来说 不存在更短的边使得该两点以不论什么方式联通对于本题来说 最小生成树中的最长边的边长就是使整个图联通的最长边的边长由此可知仅仅要对给出城市所抽象出的图做一次最小生成树 去树上的最长边就可以#includeusing namespace std;int ...
分类:
其他好文 时间:
2014-10-02 18:13:53
阅读次数:
162
http://acm.hdu.edu.cn/showproblem.php?pid=1116判断有向图欧拉回路和欧拉通路有向图:欧拉回路:图联通,所有顶点出度等于入度(通过图中每条边且只通过一次,并且经过每一顶点的回路。)欧拉通路:图联通,除起点终点所有顶点出度等于入度,起点的出度-入度=1,终点的...
分类:
其他好文 时间:
2014-08-27 00:15:26
阅读次数:
281
题意:给n个点,保证图联通,给点相连的距离,求一个最多的点,这些点之间的距离都是相同的。分析:下面的代码是我们房间第一的大神的,写的很简洁,我的思路和他的一样,但是我不知道错哪了。思路是暴力枚举,最多有10个点,先用floyed计算出每两点之间的距离,然后用位运算暴力枚举,枚举每个点是否加入进去,并...
分类:
其他好文 时间:
2014-08-22 12:39:56
阅读次数:
169
对于最终生成的最小生成树中最长边所连接的两点来说 不存在更短的边使得该两点以任何方式联通
对于本题来说 最小生成树中的最长边的边长就是使整个图联通的最长边的边长
由此可知只要对给出城市所抽象出的图做一次最小生成树 去树上的最长边即可
#include
using namespace std;
int dist[1020],m[1020][1020];
void prim(int n,int...
分类:
其他好文 时间:
2014-08-07 13:16:40
阅读次数:
235
题目连接:uva 1390 - Interconnect
题目大意:给出n表示有n个点,m表示有m条边,现在任选两点建立一条边,直到整个图联通,问说还需建立边数的期望,建过边的两点仍可以建边。
解题思路:哈希的方法很是巧妙,将各个联通分量中节点的个数c[i]转换成一个30进制的数(因为节点个数最多为30),因为结果很大,所以对1e5+7取模。获得的哈希值作为插入和搜索的起点。
#in...
分类:
其他好文 时间:
2014-07-28 00:16:09
阅读次数:
426
题目链接:Codeforces 444A DZY Loves Physics
题目大意:给出一张图,图中的每个节点,每条边都有一个权值,现在有从中挑出一张子图,要求子图联通,并且被选中的任意两点,如果存在边,则一定要被选中。问说点的权值和/边的权值和最大是多少。
解题思路:是图论中的一个结论,最多两个节点,所以枚举两条边就可以了。我简单的推了一下,2个点的情况肯定比3个点的优。
...
分类:
其他好文 时间:
2014-07-08 11:21:20
阅读次数:
296