随笔分类 - 二分匹配+KM算法
摘要:/*题意:给你一些冰岛。公共海域和浮冰,冰岛可以隔开两个公共海域,浮冰无影响求选尽可能多的选一些公共海域点每行每列仅能选一个。限制条件:冰山可以隔开这个限制条件。即*#*可以选两个预处理:*******#*#***** 可以按行转化 *******#ooooo*#*****按行转化的基础上按列...
阅读全文
摘要:/*最小K路径覆盖的模型,用费用流或者KM算法解决,构造二部图,X部有N*M个节点,源点向X部每个节点连一条边,流量1,费用0,Y部有N*M个节点,每个节点向汇点连一条边,流量1,费用0,如果X部的节点x可以在一步之内到达Y部的节点y,那么就连边x->y,费用为从x格子到y格子的花费能量减去得到的能...
阅读全文
摘要:转载地址:http://www.cnblogs.com/Griselda/archive/2012/09/17/2689345.html题意:给出每个人适合住的星球信息和该星球能住多少人 第一行给出n m 代表有 n 个人 m 个星球然后接下来n行每行m个数字 1代表适合第 i 个星球 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...
阅读全文
摘要:1001 Easy Finding POJ-37401002 Power Stations HDOJ-36631003 Treasure Map ZOJ-32091004 Lamp HDOJ-28281005 whosyourdaddy HDOJ-34981006 Bomberman - Just ...
阅读全文
摘要:【HDU】2255 奔小康赚大钱1533 Going Home1853 Cyclic Tour3488 Tour3435 A new Graph Game2426 Interesting Housing Problem2853 Assignment3718 Similarity3722 Card G...
阅读全文
摘要:通俗匹配,多重匹配【HDU】1068 Girls and Boys1150 Machine Schedule1151 Air Raid1179 Ollivanders: Makers of Fine Wands since 382 BC.1281 棋般游戏1498 50 years, 50 colo...
阅读全文
摘要:#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[...
阅读全文
摘要:#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(...
阅读全文
摘要:#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]...
阅读全文
摘要:#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][...
阅读全文
摘要:#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],...
阅读全文
摘要:#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...
阅读全文
摘要:#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...
阅读全文
摘要:#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]==...
阅读全文
浙公网安备 33010602011771号