loj 1201(最大独立集)
来源:互联网 发布:java编写小程序 编辑:程序博客网 时间:2024/06/05 21:54
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26913
思路:水题一枚,就是求最大独立集。最大独立集=顶点数-最大匹配。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<vector> 6 using namespace std; 7 #define MAXN 1111 8 #define FILL(a,b) memset(a,b,sizeof(a)) 9 10 int n,m,ly[MAXN];11 bool mark[MAXN];12 13 vector<int>g[MAXN];14 15 int dfs(int u)16 {17 for(int i=0;i<g[u].size();i++){18 int v=g[u][i];19 if(!mark[v]){20 mark[v]=true;21 if(ly[v]==-1||dfs(ly[v])){22 ly[v]=u;23 return 1;24 }25 }26 }27 return 0;28 }29 30 31 int MaxMatch()32 {33 int res=0;34 FILL(ly,-1);35 for(int i=1;i<=n;i++){36 FILL(mark,false);37 res+=dfs(i);38 }39 return res/2;40 }41 42 int main()43 {44 int _case,u,v,t=1;45 scanf("%d",&_case);46 while(_case--){47 scanf("%d%d",&n,&m);48 for(int i=0;i<=n;i++)g[i].clear();49 while(m--){50 scanf("%d%d",&u,&v);51 g[u].push_back(v);52 g[v].push_back(u);53 }54 printf("Case %d: %d\n",t++,n-MaxMatch());55 }56 return 0;57 }
0 0
- loj 1201(最大独立集)
- LOJ 1201 - A Perfect Murder(二分匹配 最大独立集)
- loj 1155(最大流)
- 【loj】#6007. 「网络流 24 题」方格取数(二分图最大点权独立集)
- HDU1068 (最大独立集)
- loj 1156(二分+最大流)
- loj 1167(二分+最大流)
- poj 1466 匈牙利(最大独立集)
- hdu 2458 Kindergarten (最大独立集)
- hdu 1068(最大独立集)
- hdu 2768(最大独立集)
- hdu 2458(最大独立集)
- POJ 3692 Kindergarten(最大独立集)
- 二分图(最大独立集)
- poj 1419(求最大独立集)
- poj--3692--Kindergarten(最大独立集)
- hdu3829(二分图,最大独立集)
- hdu2768Cat VS Dog(最大独立集)
- loj 1167(二分+最大流)
- loj 1036(dp)
- loj 1037(状压dp)
- loj 1038(dp求期望)
- hdu 4281(MTSP)
- loj 1201(最大独立集)
- loj 1044(dp+记忆化搜索)
- loj 1099(最短路)
- loj 1316(spfa预处理+状压dp)
- loj 1002(spfa变形)
- hdu 4114(状压dp)
- loj 1379(最短路变形)
- loj 1271
- hdu 1063(java写高精度)