
图论之二分图
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 · 326 阅读 · 0 评论 -
4949: 棋盘覆盖[二分图最大匹配]
4949: 棋盘覆盖 题意:一个n*n的棋盘,现在有m个位置是禁止放东西的,问最多可以放多少个 1 * 2 的骨牌 , 输出结果 思路:n*n地图上能放骨牌的所有方格中心点连边,我们可以发现,这些边可以构成一个二分图,在对角线关系的所有点都是一个集合,并且集合内部没有边.现在求二分图的最大匹配数 也可以把所有点分成两个集合再建边,但这样代码量就长了 #include<bits/s...原创 2018-07-18 21:29:57 · 704 阅读 · 0 评论 -
車的放置[二分图最大匹配数]
車的放置 题意:n*m的棋盘上有t个位置被禁止放置东西,问最多可以放置多少个"车" 思路:我们必须找到2个集合,每个集合内部没有边,每一条边的两个端点在两个集合.以行坐标为A集合,列坐标为B集合 那么A,B内部均无边,且所有边的两个端点都在两个集合里 一个端点只能属于一条匹配边 符合二分图的定义和求法 #include<bits/stdc++.h> #define PI ...原创 2018-07-19 08:38:04 · 387 阅读 · 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 · 227 阅读 · 0 评论 -
关于二分图
1.二分图的判定: BFS,不能有奇数的环(引理) 2.二分图最大匹配(匈牙利算法,增广路) 3.二分图建模... 主要能看到把一个集合分成2个内部无边的集合.边可以是某种关系. 并且最大匹配数/最小覆盖点数.正好是题目要求的答案 4.多重匹配和带权最大匹配用 网络流解决 5.二分图最小点覆盖数 = 二分图最大匹配边数 6.每条边代表一个选择 总之 . 能敏锐的感觉到2个集合内部无边...原创 2018-07-19 09:15:37 · 177 阅读 · 0 评论