08 2016 档案

摘要:题意:给一张m*n的棋盘,上面有k个格子有洞,用1*2的骨牌将棋盘覆盖,每个格子必须被恰好覆盖一次,有洞的地方不能覆盖,问是否存在这样的方案。 思路:容易想到将格点作为二分图中的点,骨牌作为二分图中的边(骨牌可能放置时),求二分图的最大匹配,如果匹配数与n*m-k相等,则方案存在,否则不存在;容易想 阅读全文
posted @ 2016-08-17 20:31 PosProteus 阅读(214) 评论(0) 推荐(0)
摘要:题意:在NxN的网格上,有一些格点是草地,有一些格点是泥地,给你一些宽度为1的长度不限的木板,将泥地全部覆盖,木板可以互相重叠但不能覆盖草地(这一点不同于poj3041) 思路:建图比较难想,将每一行上连续的泥地和每一列上连续的泥地计为二分图中的点,每一块泥地对应二分图中的边,就能将问题转化为最小点 阅读全文
posted @ 2016-08-15 14:54 PosProteus 阅读(131) 评论(0) 推荐(0)
摘要:题意:给定一个NxN的网格,其中有k个格点上有障碍物,每次可以消除一行或一列障碍物,问最少几次可以消除全部的障碍物。 思路:二分图的经典模型,将所有的行看作二分图中左边的端点,将所有的列看作右边的端点,当格点上有障碍物时,连一条边,问题转变为求二分图的最小顶点覆盖,根据König定理由二分图的最大匹 阅读全文
posted @ 2016-08-12 20:45 PosProteus 阅读(136) 评论(0) 推荐(0)
摘要:思路:模板题,注意是无向图,所以最后结果要除以2。点有1500个,邻接矩阵会超时,用了邻接表。 阅读全文
posted @ 2016-08-12 20:02 PosProteus 阅读(222) 评论(0) 推荐(0)
摘要:二分图基本概念和最大匹配 http://www.renfei.org/blog/bipartite-matching.html http://www.cnblogs.com/kuangbin/archive/2012/08/26/2657446.html http://wenku.baidu.com 阅读全文
posted @ 2016-08-10 16:54 PosProteus 阅读(123) 评论(0) 推荐(0)
摘要:思路:裸的二分图最大匹配,居然没看出来,我还是要学习一个 阅读全文
posted @ 2016-08-10 15:42 PosProteus 阅读(188) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5791 题意:给你两个序列,求相同的子序列个数,结果对1e9+7取余 题解:dp[i][j]表示两序列分别以i,j为结尾的子问题结果,当i不等于j时,d[i][j] = d[i-1][j]+dp[i][j 阅读全文
posted @ 2016-08-03 19:41 PosProteus 阅读(169) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5783 题意:给你n个整数,将它分成若干个前缀和大于等于0的块,求块的最大个数。 题解:题目保证有解。从后向前贪心,当前和大于等于0时,序列个数增加一。 阅读全文
posted @ 2016-08-03 19:32 PosProteus 阅读(222) 评论(0) 推荐(0)