摘要: 题目:http://poj.org/problem?id=3020这个题主要是构图比较难,处理方法是把城市编号然后如果在上下左右四个方向存在城市的话,那么这两个城市就可以组成一条边,构成的图是一个无向图,DAG图的最小路径覆盖=节点数(n)-最大匹配数;无向图的最小路径覆盖=节点数(n)-最大匹配数/2;代码:View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 int map[405][405]; 6 int st[45 阅读全文
posted @ 2012-12-15 21:43 琳&leen 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=3041把X作为n1点集,y作为n2点集,x->y建立二分图,最小顶点覆盖。。View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 int n,k; 6 int map[505][505]; 7 int vis[505]; 8 int link[505]; 9 int find(int x)10 {11 int i;12 for(i=1;i<=n;i++ 阅读全文
posted @ 2012-12-15 20:10 琳&leen 阅读(131) 评论(0) 推荐(0) 编辑