![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分图匹配
文章平均质量分 54
qq172108805
这个作者很懒,什么都没留下…
展开
-
hdu 4160 Dolls--最小点集覆盖=V-二分图最大匹配
#include #include #include using namespace std; struct node { int x,y,z; }w[510]; vectorh[510]; int match[510]; int vis[510]; int dfs(int i) { for(int j=0;j<h[i].size();j++) { if(!vis[h[i][j]])//原创 2012-03-20 20:48:46 · 517 阅读 · 0 评论 -
poj 1422Air Raid--最小路径覆盖
/* 题意:有个城镇,所有路都是单行道,并且没有环,所有路都连接在十字路口上 现在用最少的伞兵走完这些式子路口,每个只能走一遍 很明显的最小路径覆盖 最小路径覆盖=点数-最大匹配 需要拆点 所有式子路口 在X中一个 在Y中一个 路把两个集合中十字路口连接起来 求最大匹配 还是匈牙利 */ #include #include using namespace std; vectorv[15原创 2012-08-03 15:59:59 · 578 阅读 · 0 评论 -
poj 1325 Machine Schedule--最小点覆盖
/* 题意:A机器有n(0~n-1)个模式,B机器有m(0~m-1)个模式 先有k个任务需要做,可以用A机器的ai模式做或者用B机器的bi模式做 任务无先后,换模式序重启,开始两个机器都在模式0 问最少需要重启几次 二分图最小点覆盖 A的模式为X集 B的模式为Y集 按任务建边 求最小点覆盖 任务是求最少的重启次数,也就是最少要工作在几个模式(除了0模式) 只要边的任何一个端点被选中就原创 2012-08-03 14:24:16 · 416 阅读 · 0 评论 -
sgu 242 Student's Morning--最大流 或 多重匹配
/* n同学分别来自不同的学校,他们想去学校玩,但是不像一个人去,所以去某个学校的人数应>=2 问是否有k个学校满足要求 建边: [s,学校] 权为2 [学校,同学] 权为1 [同学,t] 权为1 据说这题可以用匹配做,以后看看 */ #include #include #define inf 0x7ffffff struct edge { int u,v,f,next; }e[10001原创 2012-08-01 17:02:59 · 1272 阅读 · 0 评论 -
zzuli1672--二分答案+最大匹配
#include #include #include #define max 110 int xx[max],yy[max]; int v[max*max][max]; double map[max*max][max]; int pi[max]; int fang[max]; int m,n,t1,t2,s; double dis(int x1,int y1,int x2,int y2) { r原创 2012-07-16 20:31:45 · 520 阅读 · 0 评论 -
hdu 4606 Occupy Cities - 计算几何 + 最短路 + 最小路径覆盖
/* hdu 4606 Occupy Cities 题意:n个城市,m条障碍物,p个士兵,城市之间的路可以任意走,但是不能跨越障碍。 p个士兵分别按顺序占领城市,城市内有补给,士兵的消耗等于路程的长度。 问:为了完成任务,士兵的背包最小为多大? 这是一个最小路径覆盖问题,每个士兵都可以走出一条线来。 说道顺序,建图是只能从顺序靠前的城市向靠后的城市建边,这样就保证了单个士兵所走的城市复合顺原创 2013-07-26 21:22:55 · 889 阅读 · 1 评论 -
poj 2195 Going Home--最小费用最大流--spfa--动态数组--或者用 最小权匹配
/* 题意:给定一个N*M的地图,地图上有若干个man和house,且man与house的数量一致。man每移动一格需花费$1(即单位费用=单位距离), 一间house只能入住一个man。现在要求所有的man都入住house,求最小费用。 最小费用最大流 用到了spfa求费用最小的可改进路径 仿写 http://blog.csdn.net/lyy289065406/article/deta原创 2012-07-04 16:19:54 · 681 阅读 · 0 评论 -
KM算法 最优匹配(最大权匹配) hdu 2255 奔小康赚大钱 最小权匹配 poj 2195 Going Home
最大权二分匹配问题就是给二分图的每条边一个权值,选择若干不相交的边,得到的总权值最大。解决这个问题可以用KM算法。理解KM算法需要首先理解“可行顶标”的概念。可行顶标是指关于二分图两边的每个点的一个值lx[i]或ly[j],保证对于每条边w[i][j]都有lx[i]+ly[j]-w[i][j]>=0。如果所有满足lx[i]+ly[j]==w[i][j]的边组成的导出子图中存在一个完美匹配,那么这个原创 2012-08-11 17:09:09 · 2631 阅读 · 0 评论