"题目链接" 题目是求最长反链,反链指点集内任意两点不能互相到达。 根据Dilworth定理,在DAG中,$$最长反链 = 最小路径覆盖 = V 最大匹配数$$ 用Floyd求一遍传递闭包后,在所有可互相到达的点间连边。求二分图最大匹配。 也可以这么理解: 每一条边表示这两个点不能同时被选中,选出最 ...
分类:
其他好文 时间:
2018-04-04 12:44:52
阅读次数:
175
最小不可交路径覆盖 题目链接:https://www.luogu.org/problemnew/show/P2764 题解: 如何建模? 把每个点i拆成xi和yi两个点。若i与j间有边,就链接xi与yj,求两个集合的最大匹配。 证明: 我们可以把一开始的点每个点看做一条路径。那么每增加一条匹配边,就 ...
分类:
其他好文 时间:
2018-03-29 19:10:47
阅读次数:
173
现已完成: [0/91] TWOCOMP 关于图论的一些定义: 匹配 点覆盖 独立集 边覆盖 团 对于二分图有 $|最大匹配|\ =\ |最小点覆盖|$ 对于不存在孤立点的图,$|最大匹配|\ +\ |最小边覆盖|\ =\ |V|$ $|最大独立集|\ +\ |最小点覆盖|\ =\ |V|$ $|最 ...
分类:
其他好文 时间:
2018-03-29 12:02:27
阅读次数:
106
Sol 这做法我是想不到$TAT$ 每个筐子拆成三个相互连边 球向三个筐子连边 然后跑一般图最大匹配 这三个筐子间最多有一个匹配 那么显然每个球一定会放在一个筐子里,一定有一个匹配 如果筐子间有匹配,则有一个半空的筐子,因为它一定只匹配了小于等于$1$个球 答案为匹配数$ n$ 使答案最大即匹配数最 ...
分类:
其他好文 时间:
2018-03-27 18:40:21
阅读次数:
183
HDU 2236 无题II 题目链接 思路:行列仅仅能一个,想到二分图,然后二分区间长度,枚举下限。就能求出哪些边是能用的,然后建图跑二分图,假设最大匹配等于n就是符合的 代码: #include <cstdio> #include <cstring> #include <vector> #incl ...
分类:
其他好文 时间:
2018-03-25 19:22:09
阅读次数:
146
只想感叹构图太厉害了 把每个筐拆成三个点连成三元环,对于每个限制条件,把球代表的点连三条边到筐的三个点,匹配数减去$n$就是答案 下面解释为什么是这样 如果某个筐没放球,那么这个筐的三个点最大匹配数为$1$(三元环选一条边匹配) 如果某个筐放$1$个球,那么最大匹配是$2$(球匹配一个点,未被球匹配 ...
分类:
其他好文 时间:
2018-03-25 12:02:16
阅读次数:
141
讲解前首先引入两个概念 二分图最小点覆盖集 定义: 在二分图中求出一个 最小点集 使得图中任意一条边至少有一个端点在点集内 解法: 对二分图进行 最大匹配 最大匹配数就是二分图的最小点覆盖集包含的点数 二分图最大独立集 定义: 对于一张 无向图 求出一个点数最大的点集 使得点集中任意两点没有边相连 ...
分类:
其他好文 时间:
2018-03-25 11:59:01
阅读次数:
233
补了一下匈牙利的各种骚操作。 最大匹配等于最小覆盖 最大独立集=n-最小覆盖 最大团=补图的最大独立集 对于这题,把每个点拆成两个,可以到达的就连边。 我匈牙利的模版是真不熟。 ...
分类:
其他好文 时间:
2018-03-23 10:31:16
阅读次数:
204
1 /* 2 公式: 3 二分图最小顶点覆盖 = 二分图最大匹配 4 DAG图的最小路径覆盖 = 节点数(n)- 最大匹配数 5 二分图最大独立集 = 节点数(n)- 最大匹配数 6 */ 7 8 #include 9 using namespace std; 10 11 const int N=1... ...
分类:
编程语言 时间:
2018-03-22 13:42:36
阅读次数:
211
题目描述 给你一个图,求最大匹配。 边的描述方式很特殊,就是一次告诉你$c_i$个点:$d_1,d_2,\ldots,d_{c_i}$,表示这些点两两之间都有连边,也就是说,这是一个团。总共有$m$个团。 记$s=\sum_{i=1}^mc_i$。 $n,m,s\leq 3000$ 题解 直接跑带花 ...
分类:
其他好文 时间:
2018-03-15 16:26:02
阅读次数:
156