摘要: http://poj.org/problem?id=3692二分图匹配,匈牙利算法(dfs+邻接矩阵),最大独立集最大独立集 == N - 最小点覆盖 == N - 最大匹配数把没有关系的两点连接,反向建图 1 #include <stdio.h> 2 #include <string.h> 3 4 #define N 210 5 6 int n, m, map[N][N], girl[N], flag[N]; 7 8 int find(int x) 9 {10 int i;11 for(i=1; i<=m; i++)12 {13 if(!flag... 阅读全文
posted @ 2013-01-14 14:35 Yuan1991 阅读(157) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1274二分图匹配,匈牙利算法(dfs+二维数组模拟邻接链表)裸题,不用自己建图,用邻接链表试了一下 1 #include <stdio.h> 2 #include <string.h> 3 4 int n, m; 5 int list[210][210], girl[210], flag[210]; 6 7 int find(int x) 8 { 9 int i;10 for(i=1; i<=list[x][0]; i++)11 {12 if(!flag[list[x][i]])13 ... 阅读全文
posted @ 2013-01-14 12:53 Yuan1991 阅读(147) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3020二分图匹配,匈牙利算法(dfs+邻接矩阵)建图:相邻点双向连接,建无向图结果(最少需要的“圈”数) ==(总点数 - 最大匹配数)/*没有匹配成功的点需要自己单独一个“圈”*/ + (最大匹配数 / 2) /*匹配成功的点,2个点共用一个"圈"*/化简为:结果 == 总点数 - (最大匹配数 / 2) 1 #include <stdio.h> 2 #include <string.h> 3 #define N 432 4 5 int n, m; 6 int map[N][N], flag[N 阅读全文
posted @ 2013-01-14 11:40 Yuan1991 阅读(163) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1045二分图匹配,匈牙利算法(dfs+邻接矩阵),König定理需要自己建新图以前用搜索做过~ 感觉建图好神奇 1 #include <stdio.h> 2 #include <string.h> 3 #define N 10 4 5 int n, m; 6 int map0[N][N], map1[N][N], map2[N][N]; 7 int map[N][N], girl[N], flag[N]; 8 9 int find(int x)10 {11 int i;12 阅读全文
posted @ 2012-12-22 19:41 Yuan1991 阅读(133) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3041二分图最大匹配,匈牙利算法(dfs+邻接矩阵),König定理König定理:最大匹配数 == 最小点覆盖数matrix67大神的证明:http://www.matrix67.com/blog/archives/116好像喜欢上用girl命名右集合数组了。。。 1 #include <stdio.h> 2 #include <string.h> 3 #define N 521 4 5 int k, n; 6 int map[N][N], girl[N], flag[N]; 7 8 int f 阅读全文
posted @ 2012-12-09 19:59 Yuan1991 阅读(146) 评论(0) 推荐(0) 编辑