图匹配
AC_Arthur
Die luft der Freiheit weht
展开
-
HDU 4687 Boke and Tsukkomi(一般图匹配|带花树)
比赛的时候刚开始看这题还以为是二分图匹配,后来才发现根本不是,因为该题存在长度为奇数的圈 。 比如1->2,2->3,3->1 。 所以该题要用一般图匹配,即带花树算法 。比赛时抄的模板有地方抄错了,上述样例出现了死循环 。 赛后补题的时候用map去重却得不到正确答案,不知为何,暂放 ,下面给出一种正确解法。 细节参见代码:#include#include#include#原创 2015-08-26 20:52:46 · 1029 阅读 · 0 评论 -
12549 - Sentry Robots (二分图匹配)
该题和HDU 5093 如出一辙 传送门 。即求解二分图最大匹配数 = 最小点集覆盖 。 该题要求用尽量少的机器人看守所有重要的点,并且障碍物会阻隔机器人的看守范围 。我们不妨将行列分开,按照行和列的最大看守范围编号,这样得到的就是最大匹配数 。 由于要求看守所有重要的点,所以这样可以有效去重,进行了最大匹配之后还可以保证一定看守了所有的点 。 建好图之后套Dinic模板就行了 。该题原创 2015-08-27 09:23:08 · 1427 阅读 · 0 评论 -
HDU 1565 方格取数(1)(最大独立点权覆盖 | 最小割)
该题是一道经典的求最大点权独立集问题的题目 。 关于定义我就不多说了 。 说一下几个重要的关系 :1.最大流 = 最小割 = 最小点权覆盖集 = sum - 最大点权独立集 。因此,该题其实还可以用最小割来做,思想是相同的 。 因为我们不能取相邻的数字,所以很容易联想到最小割 。那么我们可以先给每个格子编号1或2,形成二分图。 然后由1到2连边 。容量INF,与源点和汇点相连的原创 2015-08-31 10:24:35 · 975 阅读 · 1 评论 -
POJ 2446 Chessboard(二分图匹配)
题目链接:点击打开链接题意:给你一个n*m的棋盘, 上面有一些洞洞,要求放置若干1*2的木板, 洞洞位置不能放置, 其他位置要全部覆盖, 任意一个格子不能同时覆盖两块木板, 求能否完全覆盖。思路:二分图匹配。 相邻两个格子, 行数 + 列数 一定是一个奇数一个偶数, 由此将格子分成两派, 匹配一些即可。 可以用最大流, 但是匈牙利算法更快, 而且代码短。细节参见代码:#inclu原创 2016-04-07 11:28:02 · 2497 阅读 · 0 评论 -
HDU 1281 棋盘游戏(二分图匹配)
题目链接:点击打开链接思路:经典二分图建图模型, 对于每一个格子, 按照行标建一列, 列标建一列, 然后进行匹配即可, 然后尝试删除每条边, 再进行匹配看看有没有比原匹配小。 复杂度显然会超时。。 数据水了吧。细节参见代码:#include#include#include#include#include#include#include#include#include原创 2016-04-13 17:36:16 · 3198 阅读 · 0 评论 -
SGU 210. Beloved Sons(二分图匹配)
题目链接:点击打开链接思路:因为每一个左边的匹配点都有一个优先级, 所以我们按照左边的点的优先级排序, 这样就会优先匹配前面的点。 原因很简单 , 我们只要知道匈牙利算法是怎么进行的就可以了: 我们依次枚举每一个左边的点, 对于一个左边点x, 找到一个右边点y, 如果y没有被匹配, 那么(x, y)就是一对新匹配, 如果y已经匹配了x`, 那么我们尝试为x`重新找一个匹配点, 如果找到了那么原创 2016-06-07 22:31:10 · 1694 阅读 · 0 评论