1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。
2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。
3.点连通度:最小割点集合中的顶点数。
4.割边(桥):删掉它之后,图必然会分裂为两个或两个以上的子图。
5.割边集合:如果有一个边集合,删除这个边集合以后,...
分类:
其他好文 时间:
2014-08-26 21:30:06
阅读次数:
612
在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,
否则,称该图为非连通图,则其中的极大连通子图称为连通分量,这里所谓的极大是指子图中包含的顶点个数极大。
例如:一个无向图有5个顶点,1-3-5是连通的,2是连通的,4是连通的,则这个无向图有3个连通分量。
求连通分量的个数
当然也可以用并查集
#include ...
分类:
其他好文 时间:
2014-08-26 21:29:56
阅读次数:
325
题目地址:POJ 3352
这题就是求最少加多少条边可以使得图为无向双连通图。方法是找度数为1的连通分量,可以只用low来找。然后根据公式(叶子结点数+1)/2即可得到答案。原因是在图中将每两个度数为1的都连起来,度数为2的显然已经可以形成双联通了,因为是无向边,只要加一条,就相当于加了两条有向边,很显然,结果数就是那个公式。
代码如下:
#include
#include
#inclu...
分类:
其他好文 时间:
2014-08-26 17:20:26
阅读次数:
207
数据结构实验:连通分量个数Time Limit: 1000ms Memory limit: 65536K有疑问?点这里^_^题目描述在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,否则,称该图为非连通图,则其中的极大连通子图称为连通分...
分类:
其他好文 时间:
2014-08-26 17:03:26
阅读次数:
220
1 /* 2 题意:给出一个无向图,去掉一条权值最小边,使这个无向图不再连同! 3 4 tm太坑了... 5 1,如果这个无向图开始就是一个非连通图,直接输出0 6 2,重边(两个节点存在多条边, 权值不一样) 7 3,如果找到了桥的最小权值为0,...
分类:
其他好文 时间:
2014-08-26 16:51:56
阅读次数:
158
题目地址:ZOJ 2588
因为数组开小了而TLE了。。这题就是一个求无向连通图最小割边。只要判断dfn[u]是否
代码如下;
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
i...
分类:
其他好文 时间:
2014-08-26 00:36:15
阅读次数:
320
题目地址:POJ 1236
这个题的大意是求最少往多少点发送消息可以使任意一个点都能收到消息和最少增加多少条边可以使图为连通图。对于第一个问题,可以求入度为0的强连通块的块数,因为只有入度为0的强连通块是无法从外界接受信息的,而只要有一个入度的话,那整个连通块就都可以接收到信息。第二个问题则是求入度为0的强连通块与出度为0的强连通块的个数的最大值。
代码如下:
#include
#incl...
分类:
Web程序 时间:
2014-08-25 21:17:24
阅读次数:
287
题目地址:HDU 2767
这题的意思是求再加多少边可以使得图为强连通图。
方法是先缩点,缩点很简单,只要加个数组,在找到一个强连通分量的时候让那些点都标记为该强连通分量的标号即可。
然后再遍历一遍所有边,如果该边的起点和终点不在同一个强连通分量里边,那这两个点的入度和出度就可以算作是该强连通分量的入度和出度的一部分,累加上去。最后分别统计入度和出度为0的强连通分量个数,取最大值就是答案。道...
分类:
其他好文 时间:
2014-08-25 19:27:04
阅读次数:
195
Description在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,否则,称该图为非连通图,则其中的极大连通子图称为连通分量,这里所谓的极大是指子图中包含的顶点个数极大。例如:一个无向图有5个顶点,1-3-5是连通的,2是连通的,4...
分类:
其他好文 时间:
2014-08-25 09:53:44
阅读次数:
133
题意:给出一个有向强连通图,每条边有两个值分别是破坏该边的代价和把该边建成无向边的代价(建立无向边的前提是删除该边)问是否存在一个集合S,和一个集合的补集T,破坏所有S集合到T集合的边代价和是X,然后修复T到S的边为无向边代价和是Y,满足Y
分析:无源汇有上下界可行流判定, 原来每条边转化成 下界为D 上界为 D+B ,判断是否存在可行流即可。
如果存在可行流 那么说明对于任意的...
分类:
其他好文 时间:
2014-08-23 17:44:41
阅读次数:
245