什么是离散化? ----Matrix67如果说今年这时候OIBH问得最多的问题是二分图,那么去年这时候问得最多的算是离散化了。对于“什么是离散化”,搜索帖子你会发现有各种说法,比如“排序后处理”、“对坐标的近似处理”等等。哪个是对的呢?哪个都对。关键在于,这需要一些例子和不少的讲解才能完...
分类:
其他好文 时间:
2014-07-24 22:32:22
阅读次数:
261
B. Uncle Tom's Inherited Land*Time Limit: 1000msMemory Limit: 32768KB64-bit integer IO format:%I64d Java class name:MainSpecial JudgeYour old uncle To...
分类:
其他好文 时间:
2014-07-24 21:35:52
阅读次数:
343
Machine Schedule
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5424 Accepted Submission(s): 2691
Problem Description
As we all...
分类:
其他好文 时间:
2014-07-24 10:48:08
阅读次数:
222
2014 多校的B题,由于我不怎么搞图论,当时碰到这个题目,我怎么想都没往网络流方面弄,不过网络流真的是个好东西,对于状态多变,无法用动规或者数据结构来很好表示的时候,非常有用这个题目要求每个点一定要访问到,并且每次访问的是没访问过的点,跳跃的方向为向右或者向下。建图的时候,分成二分图,从一个超级源...
分类:
其他好文 时间:
2014-07-24 09:44:42
阅读次数:
253
题意:
n*m的格子 每个格子有个数字 你可以任选起点 每一步向下或者向右 每一步的花费是曼哈顿距离-1 如果一步的两端的格子数字一样那么你会得到这个数字的花费 问 最多选k次起点 在遍历完所有格子前提下最多剩下多少花费
思路:
题目可以表示为用最多k条路径去覆盖n*m 思路就转向了二分图
X集合表示每个点的出 Y集合表示入 如果f格子能走到g格子 那么建边...
分类:
其他好文 时间:
2014-07-23 13:07:06
阅读次数:
277
给一个矩形棋盘,上面有一些空格点,可以放象棋中的“车”,
现给出空格的坐标,求最多可以放多少个“车”使他们互不攻击(根据象棋规则,每行每列至多只能放一个),
还要求有几个“车”是必须选择的。
因为每行每列只能放一个,所以不能有冲突的x或y坐标,既把x和y分为二分图的两个集合,要求最大匹配。
至于有多少个必须选择的,我们可以枚举最大匹配中的每个匹配,(一个匹配相当于一个坐标嘛),去掉...
分类:
其他好文 时间:
2014-07-22 22:39:13
阅读次数:
155
有一个集合男和一个集合女,给出两集合间一些一一对应关系,问该两集合中的最大独立集的点数。
最大独立集=顶点总数-最大匹配数
此题中,若(a,b)有关,则(b,a)有关,每一个关系算了两次,相当于二分图的两边集合没有分男女,两边都是总人数,
所以此题中答案应该是 顶点总数-最大匹配数/2
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2014-07-22 22:38:34
阅读次数:
170
二分图中,点覆盖数是匹配数。
(1) 二分图的最大匹配数 = 最小点覆盖数
即求最少的点使得每条边都至少和其中的一个点相关联,很显然直接取最大匹配的一段节点即可。
(2) 二分图的独立数 = 顶点数 - 最大匹配数
很显然的把最大匹配两端的点都从顶点集中去掉这个时候剩余的点是独立集,这是|V|-2*|M|,同时必然可以从每条匹配边的...
分类:
其他好文 时间:
2014-07-22 00:32:35
阅读次数:
175
有nx种A类机器,有ny种B类机器,k个东西,每个东西可以在a或b启动时生产(a属于A,b属于B),初始状态AB均在0,
每次切换需要重启,要生产全部k种东西,问至少重启几次。
将每件东西a,b建边,则每条边至少需要一个点才能完成该边代表的东西,题目等价于最小点覆盖问题,既用最少的点覆盖所有的边,
根据二分图性质,最小点覆盖数=最大匹配数
#include
#inclu...
分类:
其他好文 时间:
2014-07-22 00:31:36
阅读次数:
195
由于每行最多放一个,每列最多放一个(不能放置的位置不影响攻击,就是因为没注意这句话,把这题当做行列覆盖模型做了好久0.0)
所以把行列直接当做二分图X和Y集,可以放置的点的行列连边,求出的完备匹配就是第二个答案。
至于第一个答案求关键点,就枚举删除一条边能否任然得到完备匹配,若不行,则是关键点。
我的代码c++会WA,不知道为什么,求教啊。
#include
#include
#inclu...
分类:
其他好文 时间:
2014-07-22 00:28:36
阅读次数:
225