
二分图
Lynstery
一只蒟蒻
展开
-
[二分图最大匹配] BZOJ1059: [ZJOI2007]矩阵游戏
题意:给出一个n*n的黑白方阵。可以任意交换两行/列。问是否可以通过若干次操作,使得方阵的主对角线(左上角到右下角的连线)上的格子均为黑色。 题解:题目的目标是(1,1)(2,2)(3,3)…(n,n)均为黑色。思考后发现,这个状态的本质实际上就是n行n列都有着一一对应关系,且不管如何交换行列,这个关系都不会被破坏。 想到这一点就简单了。对与每个黑格(i,j)建边i - j,求一下二分图最大匹配原创 2017-02-12 10:54:20 · 469 阅读 · 0 评论 -
[二分图最大匹配] BZOJ1433: [ZJOI2009]假期的宿舍
题意题解大水题,二分图匹配。对与每个人向他能睡的床建边即可。#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=105, maxe=505; int n,m,_test,res[maxn]; int fir[maxn],nxt[maxe],son[maxe],tot; b原创 2017-02-15 20:22:31 · 425 阅读 · 0 评论 -
[二分图匹配] HHHOJ#51. Book
我太菜了……#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=10005,maxe=20005; int n,m,fir[maxn],nxt[maxe],son[maxe],tot; void add(int x,int y){ son[++tot]=y; nx原创 2017-10-20 08:49:43 · 747 阅读 · 0 评论 -
[二分图最大独立集] BZOJ4808:马
棋盘01染色,然后把互相能打到的点连边,发现是个二分图。 二分图最大独立集 == 点数 −- 最大匹配数 Dinic练手…#include<cstdio> #include<queue> #include<cstring> #include<algorithm> using namespace std; const int maxn=40005,maxe=400005,flag[8][2]={{原创 2017-11-10 11:53:34 · 388 阅读 · 0 评论