网络流 目前 在我看来只有最大流 最小割 费用流 这几种模型其依赖的其实都是反向流能反悔的原因,每次都是找到最短或者费用最小的流进行增广直至不能再增广下去。 基于这样的思想 也就解释了费用流可以代替KM算法在二分图的带权匹配之中的正确性。 最大流等于最小割 这无疑是正确的 但是注意 割边的集合并非所 ...
分类:
其他好文 时间:
2019-06-19 10:01:59
阅读次数:
80
题目链接: "戳我" 我们先做一个DP,就能求出来到前i位的最长上升子序列的长度(maxx[i]数组)。 然后我们考虑求最小割——给每个点拆点,如果要割掉这个点,就相当于把in[i] out[i]这条边给割掉了。 然后如果在最长上升子序列中,该位下面可以接很多,那么就从该位代表的out向下面可以接的 ...
分类:
其他好文 时间:
2019-06-15 15:35:27
阅读次数:
93
题目链接 很容易会想到是最大流建边,但是同样的这里有坑点,就是有的人去输出边的时候,去把残余网络的流为0的边给输出了,其实不然,我们应当输出的是那些最后跑到深度为0的不能再走下去的点,只要把他们割了,就一定会是最优的解。 #include <iostream> #include <cstdio> # ...
分类:
其他好文 时间:
2019-06-06 22:56:15
阅读次数:
127
用tarjan求桥并输出 #include<cstdio> #include<cstring> #include<algorithm> #include<vector> using namespace std; const int maxn=10010; int n,m,x,y,index_,dfn ...
分类:
其他好文 时间:
2019-05-31 13:16:04
阅读次数:
118
简单列了一点 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自然溢出 双hash 1.3 高级数据结构 1. 树状数组 2. 线段树,线段树合并 3. 平衡树 T ...
分类:
编程语言 时间:
2019-05-19 14:20:40
阅读次数:
151
P2944 [USACO09MAR]地震损失2Earthquake Damage 2 $P$个点,$C$条双向边。求最少删去几个点使$N$个给定的点与点$1$分开。 显然的最小割。 将点$i$套路地拆成$i_1,i_2$,割点转化成割边 对于点$1$:$link(S,1_1,inf),link(1_ ...
分类:
其他好文 时间:
2019-05-04 14:44:22
阅读次数:
131
题目链接: "戳我" 题目就是两问,一问是求所有最小割方案中出现至少一次的边(可能割边),一问是求所有最小割方案中一定会出现的边。 其实对于这个问题,我们有结论—— 1.跑一遍网络流之后,对残量网络做SCC,满流且边的两个端点不在同一个SCC中的边是可能割边。 2.跑一遍网络流之后,对残量网络做SC ...
分类:
其他好文 时间:
2019-05-04 10:18:31
阅读次数:
134
传送门 需要对网络流有较深的理解... 跑完最大流后判断一条边是否可以成为割边的充分必要条件是: $1.$ 满流 $2.$ 此边连接的两点 $(u,v)$ 在残量网络上不存在从 $u$ 到 $v$ 的路径 感性理解一下就是如果不满足说明它不能成为 "瓶颈" 跑完最大流后判断一条边是否必须为割边的充分 ...
分类:
其他好文 时间:
2019-05-02 23:42:47
阅读次数:
242
拉格朗日差值 最小树形图 二项式反演 BSGS 最小割树 虚树 boruvka $1.0/1$串也可以黑白染色。 $2.$ 在平面图中,总是满足: $V E+F=1+C$($F$是面数,$C$是联通块数)。 $3.S\bigcap T = \emptyset\Leftrightarrow S\sub ...
分类:
其他好文 时间:
2019-04-05 20:17:51
阅读次数:
594
网络流最大流最小割 "题目链接" 就是一道点割最小割模板。 找了许久的模板,终于遇到了 先说边割 边割比较常见。 最大流 最大流等于最小割 ,我懒得证。 求最大流的思路就是每次尝试找一条从源点到汇点的通路,然后找到这条路上残余流量最小的流量,答案加上这个流量,这条通路上每条边的残余流量减去这个值,反 ...
分类:
其他好文 时间:
2019-03-24 21:33:16
阅读次数:
110