通过建最小割树 \((Gomory-Hu\ Tree)\) 来快速求解无向图中两点间的最小割。 最小割树中的一条边的权值,为其两端点的最小割,那么任意两点之间的最小割即为路径上的最小值。 通过递归建树即可。 \(code:\) void build(int l,int r) { if(l==r) r ...
分类:
其他好文 时间:
2020-07-08 23:07:25
阅读次数:
69
当我们遇到这样的问题: 给定一个 \(n\) 个点 \(m\) 条边的无向连通图,多次询问两点之间的最小割 我们通常要用到最小割树。 博客 建树 分治。记录当前点集,然后随便找俩点当 \(s\) 和 \(t\),跑一遍最小割,然后在“最小割树”上把 \(s\) 和 \(t\) 连边,并且根据“属于s ...
分类:
其他好文 时间:
2020-07-08 19:56:32
阅读次数:
91
都是大水题 很多题都是口胡 而且题解写的并不好... [SCOI2007]蜥蜴 把一个点拆成两个点 中间连上点权的边 luoguP2711 小行星 可以分成三个部,x部,y部与z部,做最小割 x与s相连,w=1;z与t相连,w=1,以y部为中间部连接x与z w=inf y部的点要拆点 连w=1边 l ...
分类:
其他好文 时间:
2020-07-07 13:31:22
阅读次数:
60
有关规定: 一.Gomory-Hu树 定义一棵树 \(T=(V,E_T)\) 为最小割树,当且仅当 \(δ(W)\) 是某个 \(α(s,t)\),\(W\) 是 \(T\) 删去边 \((s,t)\) 后其中一个联通块 实现: 这个做法的主要问题在于为什么边 \((r',r'')\) 是合法的 首 ...
分类:
其他好文 时间:
2020-06-24 21:24:52
阅读次数:
70
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #define N 2000005 using namespace std; const int inf=1000000007; int n,m,S,T ...
分类:
其他好文 时间:
2020-06-21 20:13:22
阅读次数:
46
考虑最小割数学形式 考虑一个点在 \(S\) 集合里是 0 在 \(T\) 集合里是 1 那么一个点是 1 时,它只有在零里才有贡献连边 \(x \to T\) 否则连边 \(S \to x\) 当两个点时朋友时,他们在不同的集合里才会有贡献,连边 \(x \to y\), \(y \to x\) ...
分类:
其他好文 时间:
2020-06-12 20:13:17
阅读次数:
78
刚开始觉得 24 题都是板子,不屑于写题解,结果第 6 道就教我做人了……orz 按照惯例,“机器人路径规划问题”是假题,不写。 另外,网络流 24 题的全称是“网络流与线性规划 24 题”,所以里面有些题不需要网络流也可以解决,怎么简单怎么来。 约定:用有序对 \((cap,cost)\) 表示这 ...
分类:
其他好文 时间:
2020-06-08 19:11:58
阅读次数:
58
题意 $n\times m$方格,若选择一个格,有花费和收益$cost_{i,j},val_{i,j}$,当某个周围四个点都被选择时,这个点自动获得收益 做法 最小割,黑白染色 ...
分类:
其他好文 时间:
2020-05-31 21:27:08
阅读次数:
44
网络流常见建图套路总结(重制版) [TOC] 前置知识 1. 网络流的基本算法:Dinic最大流,EK+SPFA求费用流 2. 最小割,最小割最大流定理 3. 二分图判定,匹配,相关性质 4. 常见最短路径算法:Dijkstra,SPFA,Floyd 最大流 二分图最大匹配与多重匹配 定义: 二分图 ...
分类:
其他好文 时间:
2020-05-18 21:08:15
阅读次数:
72
"传送门" 我们可以把这些套娃抽象成平面直角坐标系里的点(不妨设 R 为横坐标,H 为纵坐标)。 然后我们离线,把每个询问也抽象成这样的点。 然后我们从右下至左上依次加点。 那么我们每次的询问就是询问该点右下区域内的答案。 考虑怎么计算:类似网络流最小割的,我们不难发现,一个区域内点的答案就是这些点 ...
分类:
其他好文 时间:
2020-05-16 17:12:02
阅读次数:
66