并查集入门 并查集学习: l 并查集:(union-find sets) 一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树。 l 并查集的精髓(即它的三种操作...
分类:
其他好文 时间:
2014-08-11 14:41:52
阅读次数:
161
这题要的是我们求出我们需要增加多少条边才能让整个图变成一整个双连通块。可以进行对图缩点。缩点后,新图是一棵树,树的边就是原无向图的桥。现在问题转化为:在树中至少添加多少条边能使图变为双连通图。结论:添加边数=(树中度为1的节点数+1)/2 1 include 2 #include 3 #incl.....
分类:
其他好文 时间:
2014-08-10 23:48:10
阅读次数:
297
//判断是否为二分图:在无向图G中,如果存在奇数回路,则不是二分图。否则是二分图。
//判断回路奇偶性:把相邻两点染成黑白两色,如果相邻两点出现颜色相同则存在奇数回路。也就是非二分图。
# include
# include
# include
using namespace std;
int vis[210],map[210][210],cott[210];
int c[210];
int...
分类:
其他好文 时间:
2014-08-09 23:16:59
阅读次数:
297
1 /* 2 NYOJ 99单词拼接: 3 思路:欧拉回路或者欧拉路的搜索! 4 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 5 有向图的欧拉路:abs(In[i] - Out[i])==1(入度[i] -...
分类:
其他好文 时间:
2014-08-09 02:31:46
阅读次数:
357
题目链接:uva 12163 - Addition-Subtraction Game
题目大意:两个人进行游戏,对于每一局有一个无向图,给出无向图,每个节点有个K值,两人轮流操作,每次可以选中国一个含有石子的节点,将该节点的一个石子拿掉,然后选择K个有边连接的节点加上一个石子(节点可以重复选择),每个节点的子节点不会超过15个。不能操作的人视为失败。每局有n轮,给定每轮中每个节点上石子的初始...
分类:
其他好文 时间:
2014-08-09 00:20:26
阅读次数:
250
求一个无向图的桥(可能存在重边),输出割边的数目,并按顺序输出割边的序号(输入的顺序)。由于内存的限制 , 无法使用邻接矩阵 , 只能用邻接表了 .第一次用了邻接表,超内存了; 1 #include 2 #include 3 #include 4 #include 5 using names...
分类:
其他好文 时间:
2014-08-08 23:58:46
阅读次数:
649
无向图求割点模板题 1 #include 2 #include 3 #include 4 using namespace std; 5 const int N=1002; 6 7 int subnets[N]; 8 int dfn[N],low[N]; 9 int count,mun,son...
分类:
其他好文 时间:
2014-08-08 15:24:46
阅读次数:
201
题意:给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的。 转:kuangbing 无向图存在欧拉路的充要条件为: ① 图是连通的; ② 所有节点的度为偶数,或者有且只有两个度为奇数的节点。 图的连通可以利用并查集去判断。 度数的统计比较容...
分类:
其他好文 时间:
2014-08-08 12:18:15
阅读次数:
157
昨天晚上开始看二分图,到现在基本的东西学会了我就写一下我自己的理解首先什么是二分图顾名思义就是能分成两个部分的图要注意的是,‘分’的是点并且这两个集合(这里我们称作X集合和Y集合)内部所有的点之间没有边相连,也就是说X集合中任何两点之间都不会有边相连, Y亦然定理1:无向图G为二分图的一个冲要条件是...
分类:
其他好文 时间:
2014-08-07 00:30:27
阅读次数:
362