二分图
Love_xyh
这个作者很懒,什么都没留下…
展开
-
[HNOI2013]消毒
如果只有二维,那么我们建二分图求最大匹配,O(n^2)的复杂度可以实现。而现在是三维,发现不会三分图,好像也没有三分图这个算法…再思考一下对于二维,是否有别的暴力实现方法?我们可以暴力枚举哪些行是被消掉的,然后对于不是剩下的黑点,枚举每一列是否需要再消一次。复杂度:O(2^n*m)由于a * b * c<=5000,可得min(a,b,c)<=17,所以现在我们也可以暴力枚举每一层是否消掉,然后对于没有消掉的层,进行二分图求最大匹配,因为现在三维就变成二维的了。我们将最小的那一维作为立方原创 2020-09-12 18:49:57 · 143 阅读 · 0 评论 -
[ZJOI2007]矩阵游戏
我们发现同行同列的点无论经过多少次变换仍然同行或同列,所以题目可转换为能不能找到n个互相不同行或同列的点。那么我们用二分图求一下最大匹配即可。#include <bits/stdc++.h>using namespace std;const int N=205;int T,n,x,ans;int match[N<<1];bool vis[N<<1];int cnt,head[N<<1];struct edge{int next,to;}e[N原创 2020-09-12 18:38:47 · 490 阅读 · 0 评论