摘要: 链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1392二分匹配的多重匹配再加上二分枚举,本来以为用km算法呢,但是想了下要找的是边的最大值,看来是不可行。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define N 210 5 #define M 35 6 #define C 20 7 #define inf 0xfffffff 8 us 阅读全文
posted @ 2012-05-03 23:25 zhenhai 阅读(245) 评论(0) 推荐(0)
摘要: 这是这道题的二进制转化的解法,效率明显要高很多View Code 1 #include<stdio.h> 2 #include<string.h> 3 #define N 100005 4 #define M 18 5 int a[N]; 6 int v[N]; 7 int wei[N]; 8 int max(int a,int b) 9 {10 return a>b?a:b;11 }12 int main()13 {14 int n,m,w,c,t,i,j,k,weight,val;15 int x,y;16 scanf("%d",& 阅读全文
posted @ 2012-05-03 21:21 zhenhai 阅读(214) 评论(0) 推荐(0)
摘要: 链接:http://poj.org/problem?id=2195这道题是二分图的最佳匹配问题,而且属于最小匹配,km算法的模版题,题目保证了人数和房子数相等,这是自己第一道km算法题,刚开始对km算法不理解,看各种讲解,终于搞懂了其运行过程和能求出解的原因。km算法保证在整个算法的运行过程中对于匹配x,y保证lx[x]+ly[y]>=w(x,y);最终找到的是lx[x]+ly[y]=w(x,y)的解。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #def 阅读全文
posted @ 2012-05-03 19:20 zhenhai 阅读(253) 评论(0) 推荐(0)