![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分图
宝宝睡醒了
这个作者很懒,什么都没留下…
展开
-
Swap HDU - 2819
Swap HDU - 2819题意给一个n*n的矩阵,其值为0或1,通过交换两行或两列将矩阵对角线都为1;思路如果一行中或一列中没有1,那么无论怎样交换都无法获得。只交换行或只交换列一定可以交换出来用二分图思想,将行数设为二分图的左边,将每行中‘1’的位置列数设为二分图的右面代码:#include <iostream>#include <cstdio>#include <algorithm>#include <string>#inclu原创 2020-11-21 20:54:15 · 101 阅读 · 0 评论 -
Courses
Courses二分图题目大意:一共有N个学生跟M门课程,一个学生可以任意选门课,问是否能够达成以下条件构成M个学生组成的学生会:1.会里的每个学生都代表一门不同的课程(一个学生只能代表一门课)2.每门课都有课代表题目思路:将学生和课程分到两个集合,套用二分图模板。#include <bits/stdc++.h>const int N = 1100;using namespace std;const int maxn = 310;int mp[maxn][maxn];in原创 2020-11-14 21:14:23 · 214 阅读 · 0 评论 -
The Accomodation of Students
The Accomodation of Students二分图题目大意:有n个人,其中一些人相互认识。佳爷需要将这n个人分成若干个小队(每个小队2人),并使得成员之间相互认识的小队数目最大。但佳爷不是个随便的人,若无法将这n个人分成两组,且每组中的人相互不认识,那么佳爷将不会进行分队。请问,佳爷是否需要进行分队呢?思路:先判断是否是二分图,用染色法,如果是二分图,用匈牙利算法找到最大匹配数,模板题。代码:#include <bits/stdc++.h>using names原创 2020-11-14 21:05:19 · 169 阅读 · 0 评论 -
二分图
二分图染色法判断二分图通过染色法可知,黑色和白色交替染色不冲突的话,被染色的环一定不含奇数环。const int N = 100010, M = 200010;int n, m;int h[N], e[M], ne[M], idx;int color[N]; //染色void add(int a, int b){ e[idx] = b, ne[idx] = h[a], h[a] = idx ++;}bool dfs(int u, int c){ color[u] =原创 2020-11-09 21:04:04 · 115 阅读 · 0 评论