HDU 2119 Matrix
来源:互联网 发布:eric cartman 知乎 编辑:程序博客网 时间:2024/06/05 01:10
这题是二分图匹配,真没看出来- -!,看了解题报告才恍然大悟。。果然我这二分图匹配没理解透啊~~~
将行数当成二分图中的一部分,列数当成另一部分,则图中为1的点可以是二分图两部分各出一个顶点所组成的一条边,求覆盖这些边最少需要多少个顶点,即最小顶点覆盖问题,又:最小顶点覆盖==最大匹配,至此此题就可以解出了~~从没想过可以这样建图,学习了~~~
#include<iostream>#include<string>#include<cstring>#include<cmath>#include<cstdio>#include<vector>#include<queue>#include<map>#include<stack>using namespace std;const int maxn = 110;int n,m,link[maxn];bool vis[maxn],g[maxn][maxn];bool find(int u){ for(int v=0;v<m;v++) if(g[u][v]&&!vis[v]){ vis[v]=true; if(link[v]==-1||find(link[v])){ link[v]=u; return true; } } return false;}int main(){#ifndef ONLINE_JUDGE freopen("a.in", "r", stdin);#endif while(cin>>n>>m){ for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin>>g[i][j]; int ans=0; memset(link,-1,sizeof(link)); for(int u=0;u<n;u++){ memset(vis,false,sizeof(vis)); if(find(u)) ans++; } cout<<ans<<endl; } return 0;}
- HDU 2119 Matrix
- hdu 2119 Matrix
- HDU 2119 Matrix
- hdu 2119 Matrix
- hdu 2119 Matrix-二分图
- HDU 2119 Matrix 简单题
- hdu 2119 Matrix 行列匹配
- hdu 2119 Matrix (最小覆盖)
- hdu 2119 Matrix(二分匹配)
- Matrix HDU
- hdu 2119 Matrix (最小覆盖)
- hdu Matrix 2119 二分图匹配
- Matrix hdu 2119 最小点覆盖
- HDU 2119 Matrix 简单二分匹配
- hdu 2119 Matrix(二分最大匹配)
- HDU 2119 Matrix 最小点覆盖
- hdu 3376 Matrix again
- hdu 4313 Matrix
- 随笔--android中修改SeekBar控件默认显示
- 键码
- Tcp三卷书(卷一)——第一章总结
- Profile管理用户口令及解锁user
- getMethod()和invoke()方法应用
- HDU 2119 Matrix
- WEB服务器对比分析(apache,lighttpd,nginx)
- linux守护进程
- 在序列基本有序的情况下,选择冒泡法时间复杂度还是比较好的
- Spring Acegi 各组件说明
- Linux上vi(vim)编辑器使用教程
- Oracle OMF(Oracle Managed Files ) 说明
- HDU 1503 最大公共子序列,输出用到了递归
- Extjs