随笔分类 -  二分匹配+KM算法

摘要:/*题意:给你一些冰岛。公共海域和浮冰,冰岛可以隔开两个公共海域,浮冰无影响求选尽可能多的选一些公共海域点每行每列仅能选一个。限制条件:冰山可以隔开这个限制条件。即*#*可以选两个预处理:*******#*#***** 可以按行转化 *******#ooooo*#*****按行转化的基础上按列... 阅读全文
posted @ 2014-11-02 17:36 HYDhyd 阅读(160) 评论(0) 推荐(0)
摘要:/*最小K路径覆盖的模型,用费用流或者KM算法解决,构造二部图,X部有N*M个节点,源点向X部每个节点连一条边,流量1,费用0,Y部有N*M个节点,每个节点向汇点连一条边,流量1,费用0,如果X部的节点x可以在一步之内到达Y部的节点y,那么就连边x->y,费用为从x格子到y格子的花费能量减去得到的能... 阅读全文
posted @ 2014-08-05 11:33 HYDhyd 阅读(170) 评论(0) 推荐(0)
摘要:转载地址:http://www.cnblogs.com/Griselda/archive/2012/09/17/2689345.html题意:给出每个人适合住的星球信息和该星球能住多少人 第一行给出n m 代表有 n 个人 m 个星球然后接下来n行每行m个数字 1代表适合第 i 个星球 0 代表不适... 阅读全文
posted @ 2014-07-26 11:21 HYDhyd 阅读(112) 评论(0) 推荐(0)
摘要:/*1A 31ms*/#include#include#define N 300int n;struct node {int u,v,next;}bian[N*N*2];int color[N],vis[N],link[N],visit[N],ma[N][N],f[N],head[N],yong;v... 阅读全文
posted @ 2014-07-19 18:56 HYDhyd 阅读(145) 评论(0) 推荐(0)
摘要:1001 Easy Finding POJ-37401002 Power Stations HDOJ-36631003 Treasure Map ZOJ-32091004 Lamp HDOJ-28281005 whosyourdaddy HDOJ-34981006 Bomberman - Just ... 阅读全文
posted @ 2014-05-26 18:39 HYDhyd 阅读(144) 评论(0) 推荐(0)
摘要:【HDU】2255 奔小康赚大钱1533 Going Home1853 Cyclic Tour3488 Tour3435 A new Graph Game2426 Interesting Housing Problem2853 Assignment3718 Similarity3722 Card G... 阅读全文
posted @ 2014-05-26 18:33 HYDhyd 阅读(241) 评论(0) 推荐(0)
摘要:通俗匹配,多重匹配【HDU】1068 Girls and Boys1150 Machine Schedule1151 Air Raid1179 Ollivanders: Makers of Fine Wands since 382 BC.1281 棋般游戏1498 50 years, 50 colo... 阅读全文
posted @ 2014-05-26 18:32 HYDhyd 阅读(159) 评论(0) 推荐(0)
摘要:#include#include#define N 300#define inf 0x3fffffffint mark[N],link[N],n,m;int map[N][N];int find(int u) {int i;for(i=1;i<=m;i++) { if(!mark[i]&&map[... 阅读全文
posted @ 2014-05-02 10:37 HYDhyd 阅读(125) 评论(0) 推荐(0)
摘要:#include#include//这个分开后男的站在一边女的站在一边,不肯能有les或者gay。最大独立集=n-最大匹配数#define N 510int map[N][N],n,mark[N],link[N];int find(int u) {int i;for(i=0;i<=n;i++)if(... 阅读全文
posted @ 2014-04-30 15:23 HYDhyd 阅读(140) 评论(0) 推荐(0)
摘要:#include#include#define N 510int map[N][N],n,mark[N],link[N];int find(int u) {int i;for(i=1;i<=n;i++)if(!mark[i]&&map[u][i]) { mark[i]=1; if(link[i]... 阅读全文
posted @ 2014-04-30 15:01 HYDhyd 阅读(123) 评论(0) 推荐(0)
摘要:#include#include#include#define N 200#define inf 999999999int Max(int a,int b ) { return a>b?a:b;}int Min(int a,int b) { return a>b?b:a;}int map[N][... 阅读全文
posted @ 2013-12-04 23:43 HYDhyd 阅读(163) 评论(0) 推荐(0)
摘要:#include#include#include#define inf 0x3fffffff#define N 300int map[N][N];char s[N][N];int ss[N],tt[N],mark[N],lx[N],ly[N];struct node{int x,y;}man[N],... 阅读全文
posted @ 2013-12-03 00:39 HYDhyd 阅读(143) 评论(0) 推荐(0)
摘要:#include#include#define N 400#define inf 0x7fffffffint Max(int a,int b ) {return a>b?a:b;}int Min(int a,int b) {return a>b?b:a;}int map[N][N],lx[N],ly... 阅读全文
posted @ 2013-12-03 00:04 HYDhyd 阅读(127) 评论(0) 推荐(0)
摘要:#include#include#define N 200int map[N][N],visit[N],link[N],n,m;int find(int u) {int i;for(i=1;i<=n;i++)if(map[u][i]&&visit[i]==0) {visit[i]=1;if(link... 阅读全文
posted @ 2013-12-02 20:11 HYDhyd 阅读(101) 评论(0) 推荐(0)
摘要:#include#includeint link[600],mark[600],map[600][600],m,n;int find(int u) {int i;for(i=1;i<=n;i++)if(map[u][i]==1&&mark[i]==0) {mark[i]=1;if(link[i]==... 阅读全文
posted @ 2013-11-03 00:32 HYDhyd 阅读(117) 评论(0) 推荐(0)