图论之二分图
Conchpeng
贵在坚持。如有错误欢迎指正。
展开
-
4844: Noip2010 关押罪犯[BFS判二分图]
4844: Noip2010 关押罪犯题意:有n名罪犯,有m对关系a,b,c分别代表罪犯a和罪犯b有矛盾值c. 现在将这些囚犯放到2个监狱(集合),问最少的矛盾值会是多少思路:二分最少的矛盾值mid,如果边权<=mid不影响结果,对于>mid的所有边,看是否能形成一张二分图#include<bits/stdc++.h>#define PI acos(-1.0...原创 2018-07-18 18:35:53 · 278 阅读 · 0 评论 -
4949: 棋盘覆盖[二分图最大匹配]
4949: 棋盘覆盖题意:一个n*n的棋盘,现在有m个位置是禁止放东西的,问最多可以放多少个 1 * 2 的骨牌 , 输出结果思路:n*n地图上能放骨牌的所有方格中心点连边,我们可以发现,这些边可以构成一个二分图,在对角线关系的所有点都是一个集合,并且集合内部没有边.现在求二分图的最大匹配数也可以把所有点分成两个集合再建边,但这样代码量就长了#include<bits/s...原创 2018-07-18 21:29:57 · 580 阅读 · 0 评论 -
車的放置[二分图最大匹配数]
車的放置题意:n*m的棋盘上有t个位置被禁止放置东西,问最多可以放置多少个"车"思路:我们必须找到2个集合,每个集合内部没有边,每一条边的两个端点在两个集合.以行坐标为A集合,列坐标为B集合那么A,B内部均无边,且所有边的两个端点都在两个集合里一个端点只能属于一条匹配边符合二分图的定义和求法#include<bits/stdc++.h>#define PI ...原创 2018-07-19 08:38:04 · 344 阅读 · 0 评论 -
Machine Schedule HDU - 1150
Machine Schedule题意:A,B两个机器,每个机器有M种模式a[M],b[M].现在有N个任务,每个任务需要a[i]或者b[i].每当机器转换一种机器模式,问至少转换多少次机器模式?思路:对于a[i],b[i]连一条边.即求至少多少个点,能把整个二分图的边至少有一个端点覆盖.即二分图最小覆盖点#include<cstdio>#include<vecto...原创 2018-07-19 09:03:27 · 194 阅读 · 0 评论 -
关于二分图
1.二分图的判定: BFS,不能有奇数的环(引理)2.二分图最大匹配(匈牙利算法,增广路)3.二分图建模... 主要能看到把一个集合分成2个内部无边的集合.边可以是某种关系. 并且最大匹配数/最小覆盖点数.正好是题目要求的答案4.多重匹配和带权最大匹配用 网络流解决5.二分图最小点覆盖数 = 二分图最大匹配边数6.每条边代表一个选择总之 . 能敏锐的感觉到2个集合内部无边...原创 2018-07-19 09:15:37 · 158 阅读 · 0 评论