BZOJ_4554_[Tjoi2016&Heoi2016]游戏_二分图匹配
BZOJ_4554_[Tjoi2016&Heoi2016]游戏_二分图匹配
Description
Input
Output
输出一个整数a,表示最多能放置炸弹的个数
Sample Input
4 4
#***
*#**
**#*
xxx#
```
Sample Output
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define N 55000
#define M 1000050
int n,m;
int vis[N],match[N],head[N],to[M],nxt[M],cnt,tot,hang[60][60],lie[60][60];
char mp[60][60];
struct node {
int type,v,l,r;
}a[N];
inline void add(int u,int v) {
to[++cnt]=v; nxt[cnt]=head[u]; head[u]=cnt;
}
bool dfs(int x) {
int i;
for(i=head[x];i;i=nxt[i]) {
if(!vis[to[i]]) {
vis[to[i]]=1;
if(!match[to[i]]||dfs(match[to[i]])) {
match[to[i]]=x; return 1;
}
}
}
return 0;
}
int main() {
//freopen("game.in","r",stdin);
//freopen("game.out","w",stdout);
scanf("%d%d",&n,&m);
int i,j,lst,k;
for(i=1;i<=n;i++) {
scanf("%s",mp[i]+1);
}
for(i=1;i<=n;i++) {
lst=1;
for(j=1;j<=m;j++) {
if(mp[i][j]=='#') {
if(j!=1&&lst<=j-1) {
a[++tot]=(node){0,i,lst,j-1};
for(k=lst;k<j;k++) hang[i][k]=tot;
}
lst=j+1;
}
}
if(lst<=m) {
a[++tot]=(node){1,i,lst,n};
for(j=lst;j<=n;j++) hang[i][j]=tot;
}
}
int tmp=tot;
for(i=1;i<=m;i++) {
lst=1;
for(j=1;j<=n;j++) {
if(mp[j][i]=='#') {
if(j!=1&&lst<=j-1) {
a[++tot]=(node){1,i,lst,j-1};
for(k=lst;k<j;k++) lie[k][i]=tot;
}
lst=j+1;
}
}
if(lst<=n) {
a[++tot]=(node){1,i,lst,n};
for(j=lst;j<=n;j++) lie[j][i]=tot;
}
}
for(i=1;i<=n;i++) {
for(j=1;j<=m;j++) {
if(mp[i][j]=='*') {
int x=hang[i][j],y=lie[i][j];
add(x,y); add(y,x);
}
}
}
int ans=0;
for(i=1;i<=tmp;i++) {
memset(vis,0,sizeof(vis));
if(dfs(i)) ans++;
}
printf("%d\n",ans);
}
BZOJ_4554_[Tjoi2016&Heoi2016]游戏_二分图匹配的更多相关文章
- bzoj4554: [Tjoi2016&Heoi2016]游戏(二分图匹配)
4554: [Tjoi2016&Heoi2016]游戏 题目:传送门 题解: 一道很牛逼的匈牙利..和之前模拟赛的一道题有点相似(不过这题不用完美匹配) 我们可以把连续的行和列全部编号(如果之 ...
- bzoj4554: [Tjoi2016&Heoi2016]游戏 二分图匹配
4554: [Tjoi2016&Heoi2016]游戏 Description 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 是否能 ...
- BZOJ 4554: [Tjoi2016&Heoi2016]游戏 二分图匹配
4554: [Tjoi2016&Heoi2016]游戏 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4554 Descripti ...
- 【BZOJ4554】[Tjoi2016&Heoi2016]游戏 二分图最大匹配
[BZOJ4554][Tjoi2016&Heoi2016]游戏 Description 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 ...
- BZOJ4554 - [TJOI2016&HEOI2016]游戏
原题链接 Description 给出一个的地图,地图上有空地.软石头和硬石头.求在这张地图上最多能放上多少个炸弹能使得任意两个炸弹之间不会互相炸到.炸弹能炸到的范围是该炸弹所在的一行和一列,炸弹的威 ...
- [BZOJ4554][TJOI2016&&HEOI2016]游戏(匈牙利)
4554: [Tjoi2016&Heoi2016]游戏 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 857 Solved: 506[Sub ...
- 【BZOJ4554】游戏(二分图匹配,网络流)
[BZOJ4554]游戏(二分图匹配,网络流) 题解 Description 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 是否能炸到对手, ...
- BZOJ_1433_[ZJOI2009]假期的宿舍_二分图匹配
BZOJ_1433_[ZJOI2009]假期的宿舍_二分图匹配 题意: 学校放假了······有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如A 和B都是学校的学生,A要回 ...
- luoguP2526_[SHOI2001]小狗散步_二分图匹配
luoguP2526_[SHOI2001]小狗散步_二分图匹配 题意: Grant喜欢带着他的小狗Pandog散步.Grant以一定的速度沿着固定路线走,该路线可能自交.Pandog喜欢游览沿途的景点 ...
随机推荐
- HP-Socket快速入门:分包、粘包解析
环境配置 vs2015 windows7 64位 hp-socket 5.0 安装hp-socket 新建控制台项目TelnetServer,打开Nuget管理工具,搜索hp-socket: 安装成功 ...
- 转发 JBPM工作流小结
JBoss 题记:某部门领导有天突发奇想,把我们几个人叫过去,曰:最近出去开会,老有人推销自己的工作流产品,说的这好那好,你们几个给我研究研究.正好刚做完的xxx子系统里有一个申请审批的流程,你们按这 ...
- EMC Isilon(OneFS)误删文件数据恢复过程<存储数据恢复>
[科普Isilon的存储结构] Isilon内部使用的是分布式文件系统OneFS.在Isilon存储集群里面每个节点均为单一OneFS文件系统,所以Isilon在支持横向扩展的同时并不会影响数据正常使 ...
- VirtualBox 自动挂载共享文件夹
在文件 /etc/rc.local 中(用root用户)追加如下命令 mount -t vboxsf sharing /mnt/share 重启后就大功告成了,网上大部分说的修改etc下面的fstab ...
- MongoDB使用过程中的一些问题
1.MongoDB配置修改不生效的问题:今天因为某个原因,需要修改mongodb的配置文件. 改完以后,在init.d里面restart命令重启server,后来stop又start重启server. ...
- gitlab钩子搭建
目标:在本地开发机上push代码到GitLab仓库时,通过钩子同步到测试服务器 准备工作GitLab 服务器一台测试服务器一台本地开发服务器一台 1.在gitlab上新建一个项目,名称test2.在本 ...
- sniffer 简介
http://www.doc88.com/p-095375416629.html 介绍sniffer的工作原理及简单介绍.
- Spring Boot实战笔记(八)-- Spring高级话题(条件注解@Conditional)
一.条件注解@Conditional 在之前的学习中,通过活动的profile,我们可以获得不同的Bean.Spring4提供了一个更通用的基于条件的Bean的创建,即使用@Conditional注解 ...
- 设计模式之策略模式(Strategy Pattern)
模板方法是通过继承实现的,在父类中定义出算法的骨架,将不同点在子类中实现.而策略模式是通过接口实现的,策略中定义了完整的算法.它们有点像啊-- 策略模式的定义 策略模式(Strategy Patter ...
- Map集合的便利学习总结
1.Map提供了三种便利方式 1)遍历所有key. Set<K> keySet() 该方法会将当前Map中所有key存入一个Set集合后返回. 2)遍历所有的key-value对 Se ...