题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255带权匹配问题的模板;运用KM算法;#include#include#include#include#include#define INF 0xfffffff#define N 330using na...
分类:
其他好文 时间:
2015-08-10 13:32:10
阅读次数:
103
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2044
大致题意:
平面上有n个白点和n个黑点,求一种完美匹配使他们间的连线不相交
思路:要注意到,若有两种匹配相交,总可以当成对角线补成四边形,然后选四边形的两个边作为匹配就不会相...
分类:
其他好文 时间:
2015-08-09 22:33:25
阅读次数:
164
Problem Description:传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子。这可是一件大事,关系到人民的住房问题啊。村里共有n间房间,刚好有n家老百姓,考虑到每家都要有房住(如果有老百姓没房子住的话,容易引起不安定因素),每家必须分配到一间房子且只能得到...
分类:
编程语言 时间:
2015-08-08 21:18:09
阅读次数:
121
//n个物品,用字母表示每个物品的种类,
//给出标准答案对于每种物品的字母表示
//给出每个人的答案,问怎样的匹配使得两个答案的相似度更高
//{A A B A B B C C C C},{F F E F E E D D D D}表示一种答案
//对每个字母和字母之间建图,两个答案在同一个位置的字母之间的边的权值加1
//那么就只需要求其最大带权匹配
#include
#inclu...
分类:
编程语言 时间:
2015-08-07 19:57:29
阅读次数:
132
//n个人,匹配m个任务,每个人完成每个任务的效率不同
//刚开始已经有了匹配方案,现在重新设计匹配方案,使得效率最高,且尽量保存
//原来的匹配方案,
//将所有权值*1000, 然后对于原来匹配的边的权值+1,用KM算法求出最大带权匹配ans
//那么最终的最大效率为ans/1000 , 保留原来的匹配边的个数为ans%mod
#include
#include<cstdio...
分类:
编程语言 时间:
2015-08-07 19:50:07
阅读次数:
130
题目大意:给出N只蚂蚁和N棵树的坐标,问如何完美匹配,才能使蚂蚁到树的连线不会相交解题思路:KM裸题,但是很郁闷啊
不开根号,用long long竟然过不了,很无语啊,距离最大只有8亿啊
然后用A的double的代码,把他改成了long long ,WA了
然后再用double的A的代码,不开根了,又WA了,这题真坑到底是什么鬼#include
#include <cstri...
分类:
其他好文 时间:
2015-08-06 18:21:24
阅读次数:
108
分析:这是一个KM的模板题,也就不多说了,KM最复杂的情况都能过,下面是没有优化过的代码:************************************************************#include#include#includeusingnamespacestd;con...
分类:
其他好文 时间:
2015-08-06 08:15:17
阅读次数:
102
题目链接: Hdu 3488 Tour题目描述: 有n个节点,m条有权单向路,要求用一个或者多个环覆盖所有的节点。每个节点只能出现在一个环中,每个环中至少有两个节点。问最小边权花费为多少?解题思路: 因为每个节点就出现一个,那么每个节点出度和入度都为1咯。我们可以对每个节点u拆点为u,u',分...
分类:
其他好文 时间:
2015-08-04 18:57:27
阅读次数:
120
题意:n个订单和m个生产车间,每个订单在不同的车间生产所需要的时间不一样,并且每个订单只能在同一个车间中完成,直到这个车间完成这个订单就可以生产下一个订单.现在需要求完成n个订单的平均时间最少是多少.(每个订单的单独时间之和/n,包括等待时间)。主要是建图,考虑第i个订单在第j个车间倒数第k个被生产...
分类:
编程语言 时间:
2015-08-04 13:18:55
阅读次数:
214
题意:给一个n*m的地图,'m'表示人,'H'表示房子,求所有人都回到房子所走的距离之和的最小值(距离为曼哈顿距离)。思路:比较明显的二分图最大权匹配模型,将每个人向房子连一条边,边权为曼哈顿距离的相反数(由于是求最小,所以先取反后求最大,最后再取反回来即可),然后用KM算法跑一遍然后取反就是答案。...
分类:
其他好文 时间:
2015-08-02 06:17:34
阅读次数:
140