[bzoj1059] [ZJOI2007]矩阵游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=1059
我好菜啊,想了好久不知道怎么做。。
然后去黄学长博客看了一眼: "不管怎么交换,同行的还是同行,同列的还是同列,所以求的是n个不同行列的点"
瞬间就会做了......
二分图匹配,每一行和每一列看作一个点,某行某列如果是1那么它们之间连边。
想着这下不会wa了吧 结果flag秒收,发现边表忘了开两倍....
#include<iostream> #include<cstdio> #include<cstring> #include<queue> #define S 0 #define T 401 #define INF 200000000 #define ms(x) memset(x,0,sizeof(x)) using namespace std; inline int read() {int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}return x*f; }struct edge{int to,next,w; }e[90005]; int head[T+5]; int n,cnt,ans; int q[T+5]; queue<int> qu;inline void INS(int f,int t,int w) {e[++cnt]=(edge){t,head[f],w};head[f]=cnt;} inline void ins(int f,int t,int w){INS(f,t,w);INS(t,f,0);}int dfs(int x,int f) {if(x==T) return f;int used=0;for(int i=head[x];i;i=e[i].next)if(e[i].w&&q[e[i].to]==q[x]+1){int w=dfs(e[i].to,min(f-used,e[i].w));used+=w;e[i].w-=w;e[i^1].w+=w;if(used==f) return used;}if(!used) q[x]=-1;return used; }bool bfs() {for(int i=1;i<=T;i++) q[i]=-1;q[S]=0;qu.push(S);while(!qu.empty()){int u=qu.front();qu.pop();for(int i=head[u];i;i=e[i].next)if(e[i].w&&q[e[i].to]==-1)q[e[i].to]=q[u]+1,qu.push(e[i].to);}return q[T]!=-1; }int main() {int qq=read();while(qq--){cnt=1;ans=0;ms(head);n=read();for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if((read())==1)ins(i,j+n,1);for(int i=1;i<=n;i++) ins(S,i,1),ins(i+n,T,1);while(bfs()) ans+=dfs(S,INF);if(ans==n) puts("Yes");else puts("No");}return 0; }
转载于:https://www.cnblogs.com/FallDream/p/bzoj1059.html
[bzoj1059] [ZJOI2007]矩阵游戏相关推荐
- bzoj1059: [ZJOI2007]矩阵游戏
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4748 Solved: 2264 [Submit][St ...
- [BZOJ1059][ZJOI2007]矩阵游戏
Solution 由于上一题才做了一道二分图最大匹配的裸题,所以看到这一题就感觉很像二分图最大匹配. 显然白点不用管,因为不可能有任何贡献.但是行列交换咋整?正向思考受阻,别慌,这题只是判定性问题,我 ...
- 洛谷 P1129 [ZJOI2007]矩阵游戏 解题报告
P1129 [ZJOI2007]矩阵游戏 题目描述 小\(Q\)是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个\(N*N\)黑白方阵进行(如同国际象棋一般 ...
- bzoj 1059: [ZJOI2007]矩阵游戏(二分匹配)
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4762 Solved: 2269 [Submit][St ...
- 洛谷P1129 [ZJOI2007] 矩阵游戏 题解
洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...
- 洛谷:P1129 [ZJOI2007] 矩阵游戏
题目链接:P1129 [ZJOI2007] 矩阵游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 解题思路: 首先不知道最大匹配数概念的可以看看这篇博客: (5条消息) 二分图及 ...
- 【ZJOI2007】【BZOJ1059】矩阵游戏
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两 ...
- [ZJOI2007]矩阵游戏
来源:牛客网: 题目描述 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的). 每次可以对该矩阵 ...
- P1129 [ZJOI2007]矩阵游戏 (匈牙利算法)
传送门 题目描述 小 Q 是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个n×n \timesn×n黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次 ...
最新文章
- shell awk实战
- Recursive Bubble Sort(递归冒泡排序)
- 解决 win10 下载文件时 没有权限保存到某盘
- 分享一下vue ui的分页的用法
- 张尧学:祝YOCSEF越办越好
- Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问
- c#Struts框架理念和自制Struts框架下 复杂版(2009-06-10)
- 哪种存储器是非易失的_非易失性存储器
- Iphone 5s 8.0.2越狱
- js获取html的ip,JavaScript获取客户端IP
- android ip地址扫描,如何准确扫描Android中连接到wifi的所有设备的IP和Mac地址?
- 常用计算机函数公式,最常用的Excel函数公式大全
- 智能AI机器人AI源码营销机器人电销机器人智能电话机器人拨号机器人语音机器人
- 计算机语言学方面的期刊.,自然语言处理投稿哪些sci期刊
- adb 查看手机的ip地址
- outlook怎么删除服务器备份文件,如何彻底删除outlook的一切数据,包括账户信息和邮件...
- pyecharts js 地图无法显示 Map china not exists the geoJson of the map must be provided
- 分享 | 快递鸟电子面单API参数接口
- 云数据库精华问答 | 什么是云数据库?
- php使用百度地图,调用百度地图
热门文章
- Pytorch中model.eval()的作用分析
- leetcode - 139. 单词拆分
- Android Studio连接手机没反应,提示错误adb.exe start-server' failed -- run manually if necessary
- 利用NSight进行交叉编译
- 从Ubuntu 14 04 LTS版升级到Ubuntu 16 04 LTS
- 算法竞赛中的输入输出框架
- mysql的root密码的变更-进程的杀掉
- dlp型3d打印机_【论文新萃】光聚合成型3D打印技术复制印章研究
- html5 打包ios.上架,iOS帮客户打包App上架的正确姿势
- wordpress php执行短代码_PHP 8.0发布日期和PHP中JIT的状态