摘要: 什么是二分图,什么是二分图的最大匹配,这些定义我就不讲了,网上随便都找得到。二分图的最大匹配有两种求法,第 一种是最大流(我在此假设读者已有网络流的知识);第二种就是我现在要讲的匈牙利算法。这个算法说白了就是最大流的算法,但是它跟据二分图匹配这个问题的 特点,把最大流算法做了简化,提高了效率。匈牙利算法其实很简单,但是网上搜不到什么说得清楚的文章。所以我决定要写一下。最大流算法的核心问题就是找增广路径(augment path)。匈牙利算法也不例外,它的基本模式就是:初始时最大匹配为空 while 找得到增广路径 do 把增广路径加入到最大匹配中去 可见和最大流算法是一样的。但是... 阅读全文
posted @ 2013-03-17 21:32 煮人为乐 阅读(347) 评论(0) 推荐(0)
摘要: 月老的难题时间限制:1000 ms | 内存限制:65535 KB难度:4描述月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘。现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭。现在已知哪些男孩与哪些女孩如果结婚的话,可以结成幸福的家庭,月老准备促成尽可能多的幸福家庭,请你帮他找出最多可能促成的幸福家庭数量吧。假设男孩们分别编号为1~n,女孩们也分别编号为1~n。输入第一行是一个整数T,表示测试数据的组数(1<=T<=400)每组测试数据的第一行有两个整数n,K,其中男孩的人数与女孩的人数都是n。(n<=500,K<=10 000 阅读全文
posted @ 2013-03-17 21:26 煮人为乐 阅读(322) 评论(0) 推荐(0)
摘要: ACM队不是为了一场比赛而存在的,为的是队员的整体提高。大学期间,ACM队队员必须要学好的课程有:l C/C++两种语言l 高等数学l 线性代数l 数据结构l 离散数学l 数据库原理l 操作系统原理l 计算机组成原理l 人工智能l 编译原理l 算法设计与分析除此之外,我希望你们能掌握一些其它的知识,因为知识都是相互联系,触类旁通的。以下学习计划每学期中的内容不分先后顺序,虽说是为立志于学习ACM的同学列的知识清单,但内容不限于ACM的知识。英语之类与专业相距较远的课程请自行分配时间,这里不再列举。大一上学期:必学:2. 简单数学题(推荐“数学”分类20道以上)需要掌握以下基本算法:a) 欧几里 阅读全文
posted @ 2013-03-17 16:23 煮人为乐 阅读(375) 评论(0) 推荐(0)
摘要: 月老的烦恼(1)时间限制:1000 ms | 内存限制:65535 KB难度:3描述月老最近遇到了一个很棘手的问题,就是“剩男”“剩女”急速增长,而自己这边又人手不足导致天天都得加班。现在需要你来帮助月老解决这个问题,牵红绳的规则很简单:每个男生都一个编号n(1<=n<=500000),编号n的因数之和就是要牵线的女生的编号。如20的因子是:1,2,4,5,10;输入输入数据的第一行是一个数字T(1<=T<=500000),它表明测试数据的组数.然后是T组测试数据,每组测试数据只有一个数字N(1<=N<=500000).输出对于每组测试数据,请输出一个代表输 阅读全文
posted @ 2013-03-17 13:08 煮人为乐 阅读(308) 评论(0) 推荐(0)