Give you a matrix(only contains 0 or 1),every time you can select a row or a column and delete all the '1' in this row or this column . Your task is t ...
分类:
其他好文 时间:
2017-08-13 10:08:15
阅读次数:
139
题意: n*m的矩阵由0,1组成,现在每次操作可以选择一行或者一列,把这一行或者一列的1都变成0,问最少操作几次,可以把1去完。
思路:把矩阵按X,Y坐标分为二分图的A,B俩集合,1的点,可以由其的横坐标向纵坐标连边,最后就是求建立的图的最小点集覆盖(因为你选择一个横坐标的话,肯定是想能最多的把这个横坐标对应的所有的纵坐标都选择到,画个图就很清晰了),最小点集覆盖等于最大匹配#include<cs...
分类:
其他好文 时间:
2015-08-18 22:57:26
阅读次数:
157
题意:给一个01矩阵,每次可以选一行或一列,打掉上面所有的1,求打掉所有的1所需的最小次数。思路:经典的模型了,二分图最小覆盖=最大匹配。所谓最小覆盖是指选最少的点关联所有的边。容易得到将行和列看成点,1看成边,那么就是选尽量少的行和列来关联所有的1,最小覆盖模型,用最大匹配做。可以选择匈牙利算法,...
分类:
其他好文 时间:
2015-08-02 06:19:49
阅读次数:
148
hdu2119题意:给定一个矩形方格,每个格子里面的数字是0或者1,每次操作可以把一整行或列的1变成0,问最少多少次操作能将1全部变为0一次可以消除某一行或者某一列的1但是可以这么想,最多有多少个1即不在同一行,也不在同一列,有多少个,那么就要消多少次那么就是求行和列的最大匹配 1 #include...
分类:
其他好文 时间:
2014-10-12 20:40:18
阅读次数:
185
解题报告
题意:
题意类似与POJ3041
思路:
见POJ3041解题报告
最小点覆盖。
#include
#include
#include
using namespace std;
int mmap[110][110],vis[110],pre[110],n,m;
int dfs(int x) {
for(int i=1; i<=m; i++) {...
分类:
其他好文 时间:
2014-08-15 21:12:49
阅读次数:
253