摘要: 1 /* 2 这个题目有点意思,并不是求总共需要多长时间来完成订单, 3 而是要求完成顶点的总时间。 4 5 这个总时间是包括订单的等待时间的 6 7 因为有可能有多个订单都要到工厂j去完成,那么就浪费了很多时间,这些时间也算是总时间里面的 8 9 所以。每个工厂有可能有N个订单在等待来完成,所以工厂要拆开成N个点来构图 10 11 注意此题的左右顶点不同,和传统的KM写的时候要注意点,不然会TLE或者WA的不明不白 12 */ 13 14 // include file 15 #include <cstdio> 16 #include <cstdlib> 17 #in 阅读全文
posted @ 2011-03-07 20:33 AC2012 阅读(893) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 配对问题,蚂蚁和苹果树之间的距离和最小的时候,肯定是不相交的时候 3 4 利用的是三角不等式原理 5 6 可用KM算法解决 7 */ 8 9 // include file 10 #include <cstdio> 11 #include <cstdlib> 12 #include <cstring> 13 #include <cmath> 14 #include <cctype> 15 #include <ctime> 16 17 #include <iostream> 18 #include 阅读全文
posted @ 2011-03-07 18:20 AC2012 阅读(729) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 二分匹配的题目真的有意思 3 如何把问题转化为二分图模型,这才是问题的关键,其他都是浮云 4 */ 5 6 // include file 7 #include <cstdio> 8 #include <cstdlib> 9 #include <cstring> 10 #include <cmath> 11 #include <cctype> 12 #include <ctime> 13 14 #include <iostream> 15 #include <sstream> 16 # 阅读全文
posted @ 2011-03-07 16:37 AC2012 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 应用KM算法,求最小权和 3 4 当然也可以使用最小费用最大流来做 5 6 此题目非常的有意思 7 8 首先对于KM的使用,改怎么用? 9 10 因为K个商品之间没有什么关系,所以对每个商品建一个二分图,求出最小权和,就是最后的结果 11 12 然而对于每一幅二分图改怎么建立呢,因为KM是完备匹配,所以每个商人需要几个该商品,就需要几个点,也就是说左边的N个 13 商人要按照他们需要多少商品拆点,右边同样如此。这样一个活生生的带权二分图就呈现在我们眼前了 14 剩下的就是KM的事情啦 15 哈哈~~ 16 */ 17 18 // include file 19 #include. 阅读全文
posted @ 2011-03-07 14:58 AC2012 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 最小权完备匹配 3 4 这题目是 带权二分图的最大/小权问题,可以用hungarian算法的扩展算法Kuhn-Munkres算法来解决 5 6 Kuhn-Munkres算法利用二分图最大匹配的思想来找出最大/小权匹配 7 */ 8 9 // include file 10 #include <cstdio> 11 #include <cstdlib> 12 #include <cstring> 13 #include <cmath> 14 #include <cctype> 15 #include <ctime&g 阅读全文
posted @ 2011-03-07 10:38 AC2012 阅读(859) 评论(0) 推荐(0) 编辑