随笔分类 -  二分图最大匹配

摘要:题意:给一张m*n的棋盘,上面有k个格子有洞,用1*2的骨牌将棋盘覆盖,每个格子必须被恰好覆盖一次,有洞的地方不能覆盖,问是否存在这样的方案。 思路:容易想到将格点作为二分图中的点,骨牌作为二分图中的边(骨牌可能放置时),求二分图的最大匹配,如果匹配数与n*m-k相等,则方案存在,否则不存在;容易想 阅读全文
posted @ 2016-08-17 20:31 PosProteus 阅读(218) 评论(0) 推荐(0)
摘要:题意:在NxN的网格上,有一些格点是草地,有一些格点是泥地,给你一些宽度为1的长度不限的木板,将泥地全部覆盖,木板可以互相重叠但不能覆盖草地(这一点不同于poj3041) 思路:建图比较难想,将每一行上连续的泥地和每一列上连续的泥地计为二分图中的点,每一块泥地对应二分图中的边,就能将问题转化为最小点 阅读全文
posted @ 2016-08-15 14:54 PosProteus 阅读(136) 评论(0) 推荐(0)
摘要:题意:给定一个NxN的网格,其中有k个格点上有障碍物,每次可以消除一行或一列障碍物,问最少几次可以消除全部的障碍物。 思路:二分图的经典模型,将所有的行看作二分图中左边的端点,将所有的列看作右边的端点,当格点上有障碍物时,连一条边,问题转变为求二分图的最小顶点覆盖,根据König定理由二分图的最大匹 阅读全文
posted @ 2016-08-12 20:45 PosProteus 阅读(140) 评论(0) 推荐(0)
摘要:思路:模板题,注意是无向图,所以最后结果要除以2。点有1500个,邻接矩阵会超时,用了邻接表。 阅读全文
posted @ 2016-08-12 20:02 PosProteus 阅读(223) 评论(0) 推荐(0)