网络流二·最大流最小割定理 AC_Code: 1 #include <bits/stdc++.h> 2 #include <ctime> 3 #include <algorithm> 4 #include <random> 5 using namespace std; 6 typedef long ...
分类:
其他好文 时间:
2020-04-25 01:02:59
阅读次数:
73
题目 "题目" 题目大意: 给定一张无向图图上两点,求最少割掉几个点,这两点不连通 代码 最小割,注意把点转成边。 ...
分类:
其他好文 时间:
2020-04-06 20:19:08
阅读次数:
64
网络流 网络流问题常见的求解目标有最大流(最小割)、最小费用最大流、上下界可行流等 最小割 最大流还有一个很重要的应用,就是求最小割,以下是一些定理,其实这些和二分图匹配里面的有点相似: 最小割 = 最大流 最大点权覆盖集 = 最小割 最小点权独立集 = 总权值 - 最大点权覆盖集 最小割的定义:把 ...
分类:
其他好文 时间:
2020-04-06 13:53:04
阅读次数:
80
https://www.luogu.com.cn/problem/P3329 最小割树的用处不仅是做这些裸题,了解这个定理,会对一类问题有更深的思考。 最小割树的实现: 每次取两个点u,v,求它们的割,并在最小割树上给它们连边,权值为这个割。 然后按照S能走到的和能走到T的,分成两类点,继续递归建树 ...
分类:
其他好文 时间:
2020-04-05 14:02:43
阅读次数:
63
最小割树 快速求无向图两点间的最小割 分治建立: 1. 区间内任选两点$x,y$,跑最小割,连边$(x,y,cut_{x,y})$ 2. 根据此最小割,把点割成两部分,递归处理 3. 新建出的树,两点路径上的最小值即为他们在原图上的最小割 时间复杂度$O(n^3m)$,但网络流很难卡满 "正确性证明 ...
分类:
其他好文 时间:
2020-03-25 19:36:07
阅读次数:
58
依照题目要求,即是不能从2流到1去,那么就是最小割。 从2向0,1连边,从0向0,1连边,然后跑最大流。 代码如下: #include<bits/stdc++.h> using namespace std; #define inf 1e9 const int maxn=105; const int ...
分类:
其他好文 时间:
2020-03-25 19:06:11
阅读次数:
70
P2774 方格取数问题 一看题目便知是网络流,但由于无法建图.... 题目直说禁止那些条件,这导致我们直接建图做不到,既然如此,我们这是就要逆向思维,他禁止那些边,我们就连那些边. 我们将棋盘染色,一个点向四周连边,我们的目标是使的这些边不起作用,我们将黑点与s联通,白点与t联通. 之后我们就要考 ...
分类:
其他好文 时间:
2020-03-22 10:25:08
阅读次数:
89
非常经典的最小割模型. code: #include <bits/stdc++.h> #define N 3006 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; const l ...
分类:
其他好文 时间:
2020-03-19 21:21:21
阅读次数:
48
1.最大流最小割定理 割的容量:所有割边中正向边的容量和 定理一:如果f是网络中的一个流,CUT(S,T)是任意一个割,那么f的值不超过割CUT(S,T)的容量。(任意割容量 =任意流流量) 感性理解,一个割上的边(包括正向边和反向边),f最接近割的容量的时候就是割上的所有边都是正向边,且全部跑满, ...
分类:
其他好文 时间:
2020-03-06 21:58:18
阅读次数:
62
方格取数问题(luogu) Solution 可以利用网络流对“斥”的求解 先假设所有点都选,不选某些点可以使选择的方案合法,求出这些不选的点的价值总和的最小值 最小值联想到最小割 根据(横坐标+纵坐标)的奇偶性将图分成两部分 在不能同时选的点间连边(方向偶-奇),由于“割”时不能割掉点之间不能同时 ...
分类:
其他好文 时间:
2020-03-04 09:20:31
阅读次数:
63