每次选择清除一行或者一列上的小行星。最少选择几次。 将行和列抽象成点,第i行为节点i+n,第j列为节点j,每个行星则是一条边,连接了所在的行列。 于是问题转化成最小点覆盖。二分图的最小点覆盖==最大匹配。 ...
分类:
其他好文 时间:
2016-08-12 18:15:57
阅读次数:
146
题目链接:http://poj.org/problem?id=1325 Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14216 Accepted: 6075 Description As we ...
分类:
其他好文 时间:
2016-08-11 17:28:48
阅读次数:
149
题目链接:传送门 题目大意:有k个任务,可以在 A 机器的 x 位上完成,也可以在 B 机器的 y 位上完成。问最少需要多少个点位即可完成所有任务。 题目思路:求最小点覆盖。 把 A 机器,B 机器看做两个集合,任务需要的点位即可看做 A,B 之间的边,要最少点位,也就是要最少的点覆盖完所有的边。 ...
分类:
系统相关 时间:
2016-08-10 14:11:35
阅读次数:
214
题目大概说给一个森林求其最小点覆盖数,同时在最小点覆盖条件下输出最多有多少条边被覆盖两次。 dp[0/1][u]表示以u为根的子树内的边都被覆盖且u不属于/属于覆盖集所需的最少点数 另外,用cnt[0/1][u]表示满足dp[0/1][u]状态下子树内被覆盖两次最多的边数 对于dp[0][u]只能从 ...
分类:
其他好文 时间:
2016-07-14 21:38:54
阅读次数:
209
题目链接:http://poj.org/problem?id=3041 在一个n*n的地图中,有m和障碍物,你每一次可以消除一行或者一列的障碍物,问你最少消除几次可以将障碍物全部清除。 用二分图将行(左边)和列(右边)用障碍物联系起来,比如(2,3)有个障碍物,那么左边的2和右边的3连边。边的个数就 ...
分类:
其他好文 时间:
2016-07-14 21:10:45
阅读次数:
164
二分图基础: 最大匹配:匈牙利算法 最小点覆盖=最大匹配 最小边覆盖=总节点数-最大匹配 最大独立集=点数-最大匹配 网络流: 带下界网络流 最小割问题的总结: *意义 1.加inf的边表示不能被割,通常用于体现某个点必须属于某个集合 连边(s,u,w)代表如果u不在s割的话需要付出代价w 2.连边 ...
分类:
其他好文 时间:
2016-07-13 01:02:21
阅读次数:
277
Strategic Game Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Description Bob enjoys playing computer games, espec ...
分类:
其他好文 时间:
2016-07-10 21:46:00
阅读次数:
215
①一个二分图中的最大匹配数等于这个图中的最小点覆盖数 ②最大独立子集=点数-最小点覆盖数 ...
分类:
其他好文 时间:
2016-06-10 16:18:46
阅读次数:
251
最大匹配数:最大匹配的匹配边的数目
最小点覆盖数:选取最少的点,使任意一条边至少有一个端点被选择
最大独立数:选取最多的点,使任意所选两点均不相连
最小路径覆盖数:对于一个 DAG(有向无环图),选取最少条路径,使得每个顶点属于且仅属于一条路径。路径长可以为0(即单个点)。
定理1:最大匹配数 = 最小点覆盖数(这是 Konig 定理)
定理2:最大匹配数 = 最大独立数
定理3:最小...
分类:
编程语言 时间:
2016-06-02 14:36:16
阅读次数:
219