hdu 1054 Strategic Game (二分匹配)
2012-08-02 16:31
295 查看
点击打开链接
最小覆盖。。。本题是双向图
典型的最小顶点覆盖!最小顶点覆盖 == 最大匹配(双向图)/2;
此题有个小细节,数据较大,要用邻接表,不然会超时!
#include"stdio.h" #include"string.h" int map[1501][1501],mark[1501]; int link[1501],v[1501]; int n; int dfs(int k) { int i; for(i=0;i<n;i++) { if(map[k][i]==1&&!v[i]) { v[i]=1; if(link[i]==0||dfs(link[i])) { link[i]=k; return 1; } } } return 0; } int main() { int i,j,t,a,b,count; while(scanf("%d",&n)!=-1) { memset(map,0,sizeof(map)); for(i=0;i<n;i++) { scanf("%d:(%d)",&a,&t); for(j=0;j<t;j++) { scanf("%d",&b); map[a][b]=1; map[b][a]=1; } } count=0; memset(link,0,sizeof(link)); for(i=0;i<n;i++) { memset(v,0,sizeof(v)); if(dfs(i)) count++; } printf("%d\n",count/2); } return 0; }
相关文章推荐
- HDU 1054 Strategic Game 二分匹配 | 树型DP | 贪心
- HDU1054 Strategic Game 二分匹配
- HDU1054 Strategic Game(二分匹配)
- hdu 1054 Strategic Game (二分匹配)
- HDU 1054 Strategic Game-二分匹配&最小顶点覆盖
- hdu 1054 Strategic Game(模板) 最大二分匹配,最小点覆盖 匈牙利算法
- hdu 1054 Strategic Game (二分匹配)
- hdu 1054 Strategic Game 二分图的匹配,最小点覆盖数
- hdu 1054 Strategic Game 最小顶点覆盖(二分图最大匹配)
- hdu 1054 Strategic Game 最少点覆盖 二分图最大匹配
- hdu 1054 Strategic Game 最小顶点覆盖(二分图最大匹配)
- [HDOJ1054]Strategic Game(最小点覆盖,最大二分匹配,HK算法)
- HDU——1054 Strategic game(匈牙利算法(最大匹配))
- poj 1463/hdu 1463 Strategic game 【二分匹配/树型dp】
- HDU 1054 Strategic Game(无向二分图的最大匹配)
- HDU 1054 Strategic Game (树形DP/匹配)
- hdu 1151 Air Raid (二分匹配)
- hdu 1498 50 years, 50 colors(二分匹配_匈牙利算法)
- HDU 2819 Swap (最大二分匹配+输出路径)
- HDU 4185 Oil Skimming ( 二分匹配建图 )