给定一个具有n个顶点的图,要给图上每个顶点染色,并且要使相邻的顶点颜色不同,问是否能最多用2种颜色进行染色,题目保证没有重边和自环。1#include#includeusing namespace std;const int maxn = 1010;int V,E;vectorG[maxn];int...
分类:
其他好文 时间:
2015-05-10 18:46:39
阅读次数:
115
看第一眼以为这个题不好做,把过多的时间浪费在第二题上了。《彩色的树》这题是一个顶点染色的问题,用点dfs去不断染色,然后记录子树的个数就好,题目的内容如下:
给定一棵n个节点的树,节点编号为1, 2, …, n。树中有n - 1条边,任意两个节点间恰好有一条路径。这是一棵彩色的树,每个节点恰好可以染一种颜色。初始时,所有节点的颜色都为0。现在需要实现两种操作:
改变节点x的颜色为y;...
分类:
其他好文 时间:
2015-04-25 18:24:49
阅读次数:
128
二分图判定给定一个图,要给图上每个顶点染色,并且要使得相邻的顶点颜色不同。问是否能最多用2种颜色进行染色?参考如下:Source Code:#include #include using namespace std;vector Edge[1010];int colorArr[1010];void ...
分类:
其他好文 时间:
2015-01-18 22:20:18
阅读次数:
230
判断一个图是不是二分图
用染色法,二分图是这样一个图: 有两顶点集且图中每条边的的两个顶点分别位于两个顶点集中,每个顶点集中没有边相连接!
判断二分图的常见方法:开始对任意一未染色的顶点染色,之后判断其相邻的顶点中,若未染色则将其染上和相邻顶点不同的颜色, 若已经染色且颜色和相邻顶点的颜色相同则说明不是二分图,若颜色不同则继续判断,
每次用bfs/dfs遍历都可。
二分图最大匹...
分类:
其他好文 时间:
2014-08-30 16:30:39
阅读次数:
167
二分图判定 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 给定一个具有n个顶点的图. 要给图上每个顶点染色, 并且要使相邻的顶点颜色不同. 是否能最多用2种颜色进行染色. 没有重边和闭环.即二分图问题.使用深度优先搜索(dfs), 把顶点染成c, 然后相邻边染成-c. 如果相邻边被染色过, 且相同, 则图不是二分图; 如果所有边都被染色, 并且...
分类:
其他好文 时间:
2014-07-28 00:25:49
阅读次数:
208