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]矩阵游戏相关推荐

  1. bzoj1059: [ZJOI2007]矩阵游戏

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4748  Solved: 2264 [Submit][St ...

  2. [BZOJ1059][ZJOI2007]矩阵游戏

    Solution 由于上一题才做了一道二分图最大匹配的裸题,所以看到这一题就感觉很像二分图最大匹配. 显然白点不用管,因为不可能有任何贡献.但是行列交换咋整?正向思考受阻,别慌,这题只是判定性问题,我 ...

  3. 洛谷 P1129 [ZJOI2007]矩阵游戏 解题报告

    P1129 [ZJOI2007]矩阵游戏 题目描述 小\(Q\)是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个\(N*N\)黑白方阵进行(如同国际象棋一般 ...

  4. bzoj 1059: [ZJOI2007]矩阵游戏(二分匹配)

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4762  Solved: 2269 [Submit][St ...

  5. 洛谷P1129 [ZJOI2007] 矩阵游戏 题解

    洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...

  6. 洛谷:P1129 [ZJOI2007] 矩阵游戏

    题目链接:P1129 [ZJOI2007] 矩阵游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 解题思路: 首先不知道最大匹配数概念的可以看看这篇博客: (5条消息) 二分图及 ...

  7. 【ZJOI2007】【BZOJ1059】矩阵游戏

    Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两 ...

  8. [ZJOI2007]矩阵游戏

    来源:牛客网: 题目描述 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的). 每次可以对该矩阵 ...

  9. P1129 [ZJOI2007]矩阵游戏 (匈牙利算法)

    传送门 题目描述 小 Q 是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个n×n \timesn×n黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次 ...

最新文章

  1. shell awk实战
  2. Recursive Bubble Sort(递归冒泡排序)
  3. 解决 win10 下载文件时 没有权限保存到某盘
  4. 分享一下vue ui的分页的用法
  5. 张尧学:祝YOCSEF越办越好
  6. Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问
  7. c#Struts框架理念和自制Struts框架下 复杂版(2009-06-10)
  8. 哪种存储器是非易失的_非易失性存储器
  9. Iphone 5s 8.0.2越狱
  10. js获取html的ip,JavaScript获取客户端IP
  11. android ip地址扫描,如何准确扫描Android中连接到wifi的所有设备的IP和Mac地址?
  12. 常用计算机函数公式,最常用的Excel函数公式大全
  13. 智能AI机器人AI源码营销机器人电销机器人智能电话机器人拨号机器人语音机器人
  14. 计算机语言学方面的期刊.,自然语言处理投稿哪些sci期刊
  15. adb 查看手机的ip地址
  16. outlook怎么删除服务器备份文件,如何彻底删除outlook的一切数据,包括账户信息和邮件...
  17. pyecharts js 地图无法显示 Map china not exists the geoJson of the map must be provided
  18. 分享 | 快递鸟电子面单API参数接口
  19. 云数据库精华问答 | 什么是云数据库?
  20. php使用百度地图,调用百度地图

热门文章

  1. Pytorch中model.eval()的作用分析
  2. leetcode - 139. 单词拆分
  3. Android Studio连接手机没反应,提示错误adb.exe start-server' failed -- run manually if necessary
  4. 利用NSight进行交叉编译
  5. 从Ubuntu 14 04 LTS版升级到Ubuntu 16 04 LTS
  6. 算法竞赛中的输入输出框架
  7. mysql的root密码的变更-进程的杀掉
  8. dlp型3d打印机_【论文新萃】光聚合成型3D打印技术复制印章研究
  9. html5 打包ios.上架,iOS帮客户打包App上架的正确姿势
  10. wordpress php执行短代码_PHP 8.0发布日期和PHP中JIT的状态