hdu1507】的更多相关文章

1 //hdu1507 挺不错的题 #include<stdio.h> #include<string.h> #define INF 99999999 struct node { int x; int y; }rem[]; struct Node { int v; int next; }edge[]; ],match[],map[][],mmark[],index,pre[]; void add(int x,int y) { edge[index].v=y; edge[index]…
原文链接http://www.cnblogs.com/zhouzhendong/p/8254062.html 题目传送门 - HDU1507 题意概括 有一个n*m的棋盘,有些点是废的. 现在让你用1*2的矩形覆盖所有的不废的点,并且不重叠,问最多可以覆盖多少个1*2的矩形,输出方案,有SPJ. 输入描述: 多组数据,每组首先两个数n,m(如果n和m为0,则结束程序) 然后给出k 然后给出k个二元组(x,y)表示废点的坐标. 题解 按照前两片博文的算法已经不行了,因为方案不对了. 所以我们要进行…
题意与分析 题意是这样的:给你一个\(N\times M\)的图,其中有一些点不能放置\(1\times 2\)大小的矩形,矩形可以横着放可以竖着放,问剩下的格子中,最多能够放多少个矩形. 注意到是\(1\times 2\)的矩形,所以是一个\(i+j\)和为奇数的可以与\(i+j\)为偶数的相连.抽象坐标和分别为奇数.偶数的为二分图的两个点集,可构建的矩形为边,那么剩下要做的就是二分图的最大匹配. 比较有趣的是具体实现.先把可以匹配的点单独拎出来,然后根据这些点建图.具体怎么建的呢?给每个可以…
Uncle Tom's Inherited Land* Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2013    Accepted Submission(s): 830Special Judge Problem Description Your old uncle Tom inherited a piece of land from…
题意:给出n*m的矩阵方块,某些方块是ponds,这些方块不能出售,然后能出售的是1*2的方块 要求求出有多少块1*2的方块能够出售,并输出这些方块的坐标(specia judge) 关键是怎么建出二分图,然后找最大匹配 可以把i+j==奇数的点提取出来,成为X集合,那么与(i,j)相邻的点就是Y集合了,然后就是二分图最大匹配 //关键在于建图 #include <stdio.h> #include <string.h> #include <vector> using…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1507 将i+j为奇数的构成x集合中 将i+j为偶数的构成y集合中 然后就是构建二部图 关键就是构图 然后就是简单的求最大匹配 代码:…
题解: 二分图最大匹配 建边和第一题差不多 每两个相邻的建边 然后输出方案 代码: #include<cstring> #include<cmath> #include<algorithm> #include<cstdio> using namespace std; ; int vis[N],a[N][N],ans[N],map[N][N],g[N]; int k,n,m,sum,num; struct node{int x,y;}p[N*N]; int d…
Uncle Tom's Inherited Land* Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3445    Accepted Submission(s): 1452Special Judge Problem Description Your old uncle Tom inherited a piece of land fro…
Uncle Tom's Inherited Land* Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2114    Accepted Submission(s): 867 Special Judge Problem Description Your old uncle Tom inherited a piece of land fr…
题目是跟 zoj1516是一样的,但多了匹配后的输出 详解zoj1516可见http://www.cnblogs.com/CSU3901130321/p/4228057.html #include <cstdio> #include <cstring> #include <cmath> using namespace std; ; int n , m , k; int g[maxn][maxn] , cx[maxn] , cy[maxn] , visy[maxn] ,…