二分图匹配
TommyTT
我擦,要挂科了。
展开
-
hdu 2063
对每一个女生找增广路,如果存在增广,则匹配数+1。#include#include#includeusing namespace std;bool vis[505];vector g[505];int now[505];int n,m;int dfs(int k){ for(int i=0;i<g[k].size();i++) { int bo原创 2013-07-07 17:08:46 · 626 阅读 · 0 评论 -
hdu 1083 Courses
水水更健康#include#include#include#includeusing namespace std;vector cou[105];int p,n;int map[305];bool vis[305];int dfs(int k){ for(int i=0;i<cou[k].size();i++) { int stu=cou[原创 2013-07-08 17:05:11 · 521 阅读 · 0 评论 -
hdu 1045 Fire Net
经典建模。#include#include#includeusing namespace std;char tmp[5][5];int mapr[4][4];int mapc[4][4];int map[16][16];int to[16];bool vis[16];int d[]={1,0};int r[]={0,1};int id1,id2,n,ans;int h原创 2013-07-14 15:26:55 · 698 阅读 · 0 评论 -
hdu 1150 Machine Schedule
。。。#include#includeusing namespace std;int map[105][105];int to[105];bool vis[105];bool use[105];int n,m;int tt(int k){ for(int i=0;i<m;i++) { if(!vis[i]&&map[k][i])原创 2013-07-14 13:19:11 · 594 阅读 · 0 评论 -
hdu 4619 Warm up 2
明明是经典的行列覆盖模型,居然没想到二分图匹配。为毛这么弱!!横竖有相连的就连一条边,最小覆盖点就是最大匹配,总数减去最小覆盖点就是答案。#include#include#includeusing namespace std;struct node1{ int x,y;}heng[1005];struct node2{ int x,y;}shu[100原创 2013-08-26 00:08:43 · 844 阅读 · 0 评论 -
hdu 3729 I'm Telling the Truth 二分图匹配
裸的二分图匹配。需要输出方案。#include#include#include#include#includeusing namespace std;#define M 100005#define N 65bool vis[M];vector g[N];int now[M];int n,m;int dfs(int k){ for(int i=0;i原创 2013-10-07 23:37:41 · 857 阅读 · 0 评论 -
hdu 3722 Card Game 二分图的最大权匹配
题目可以转化为2个集合,x集合和y集合,其中的元素是1-n个字符串。首先预处理点与点的边权,然后直接用二分图的最大权匹配模板。#include#include#define N 210#define inf 0x3fffffffint map[N][N],match[N],lx[N],ly[N],sx[N],sy[N],d[N],n;int find(int x){原创 2013-10-09 17:13:31 · 1003 阅读 · 0 评论 -
hdu 3225 Flowers Placement 二分图匹配+dfs
#include #include #include #define maxn 300005#define lson num<<1,s,mid#define rson num<<1|1,mid+1,e#include#include#includeusing namespace std;#define N 205bool vis[N];原创 2013-10-18 09:48:24 · 1299 阅读 · 0 评论 -
二分图相关题
由于每行最多放一个,每列最多放一个(不能放置的位置不影响攻击,就是因为没注意这句话,把这题当做行列覆盖模型做了好久0.0)所以把行列直接当做二分图X和Y集,可以放置的点的行列连边,求出的完备匹配就是第二个答案。至于第一个答案求关键点,就枚举删除一条边能否任然得到完备匹配,若不行,则是关键点。我的代码c++会WA,不知道为什么,求教啊。#include#include#inclu原创 2014-07-20 23:27:13 · 786 阅读 · 2 评论