原文转载自大牛,略有改动 KM算法是用来求完备匹配下的最大权匹配:在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接有权Wij,求一种匹配使得所有Wij的和最大-------即最佳匹配。 记 L(x) 表示结点 x 的标记量,如果对于二部图中的任何边,都有 L(x)+ L(y)>...
分类:
编程语言 时间:
2015-03-29 19:28:33
阅读次数:
230
题目大意:
有n个学生,有m对人是认识的,每一对认识的人能分到一间房,问能否把n个学生分成两部分,每部分内的学生互不认识,而两部分之间的学生认识。如果可以分成两部分,就算出房间最多需要多少间,否则就输出No。
解题思路:
先是要判断是否为二部图,然后求最大匹配。
#include
#include
#include
#include
#include ...
分类:
编程语言 时间:
2015-03-29 18:08:45
阅读次数:
159
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=654题目描述:
Robert 是一个著名的工程师。一天,他的老板给他分配了一个任务。任务的背景是:给定一
个m×n 大小的地图,地图由方格组成,在地图中有3 种方格-墙、草地和空地,他的老板希望
能在地图中放置尽可能多的机器人。每个机器人都配备了激光枪,可以同时向四个方向(上...
分类:
编程语言 时间:
2015-03-18 14:02:41
阅读次数:
162
二分图,又叫做双分图 二部图 偶图,指顶点可以分成两个不相交的集U和V,使得在同一个集内的顶点不相邻(没有共同边)的图。无向图G为二分图的充要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。给定一个具有N个顶点的图,判断其是不是二分图(如着色问题,最小着色数为2的图就是二分图),可以用DFS处理。选择任意一个顶点出发,依次确定相邻顶点的颜色,就可以判断是否可以被2种颜色染色了。代码如下#inc...
分类:
其他好文 时间:
2015-03-04 14:48:05
阅读次数:
144
题意:N个学生P门课程,每个学生见习0,1或更多课程。试判断是否能从这些学生中选出P名学生组成一个委员会同时满足以下条件:
1.委员会中的每名学生代表一门不同的课程
2.每门课程在委员会中有一名代表。
思路:求解二部图的最大匹配。不难发现,只要匹配可以盖住每门课程,即匹配数与课程数量相等,委员会就可以组成。...
分类:
其他好文 时间:
2015-02-07 15:58:25
阅读次数:
152
数据结构基础
UVa 10004 二染色:二部图的判定。(bfs或dfs遍历的过程进行染色,看是否有冲突)UVa 10129 单词:有向图的欧拉道路。UVa 10054 项链:无向图的欧拉回路,首尾相接输出路径。UVa 10596 清晨漫步:无向图的欧拉回路。(对于欧拉道路或回路,在判断连通性等时注意先 if 下要访问的顶点是否出现。)...
分类:
编程语言 时间:
2015-02-04 14:42:37
阅读次数:
350
题意:给定一个无向图,是强连通的,而且无自回路。对顶点进行染色,相邻的顶点需要用不同的颜色,但总共只有两种颜色,是否可行。
思路:二部图的判定。其实通过题意思考,也可以发现,如果没有回路是可以的,如果有回路,而回路的顶点个数是偶数个也是可以的,是奇数个则不行。而这正是二部图的充要条件:无向图的所有回路长度都为偶数。 但这里如何判断回路长度不好实现。 这里的思路是,对图进行遍历,dfs或bfs...
分类:
其他好文 时间:
2015-02-01 01:57:17
阅读次数:
133
/****************************************************二分图匹配(匈牙利算法的DFS实现)INIT:g[][]两边定点划分的情况CALL:res=hungary();输出最大匹配数优点:适于稠密图,DFS找增广路快,实现简洁易于理解时间复杂度:O(...
分类:
其他好文 时间:
2015-01-29 14:05:41
阅读次数:
247
题目大意:有A,B两种机器,A有1~n种模式 , B有1~m种模式 , 对于每一项任务,都要用到Ai 或 Bj中的一个 , 将所有任务都做完,模式转换次数最少的次数根据题目所给的x , y的关系 , 很容易画出二部图的基本框架, 这里不难看出是求一个最小的点覆盖集在二部图中 , 最小点覆盖数 = 二...
分类:
其他好文 时间:
2015-01-16 01:02:09
阅读次数:
211
1.引言许多网站都喜欢让用户点击“喜欢/不喜欢”,“顶/反对”,也正是这种很简单的信息也可以利用起来对用户进行推荐!这里介绍一种基于网络结构的推荐系统!由于推荐系统深深植根于互联网,用户与用户之间,商品与商品之间,用户与商品之间都存在某种联系,把用户和商品都看作节点,他(它)们之间的联系看作是边,那...
分类:
编程语言 时间:
2014-12-27 17:18:09
阅读次数:
239