算法进阶课
ZYzyZzzz
东阳中学在读学生。
展开
-
【网络流】最小割:算法模板,直接应用
算法模板Dinic/ISAP求最小割原题链接由最大流最小割定理得:最大流===最小割代码如下:#include<bits/stdc++.h>using namespace std;const int N=10000+10;const int M=200000+10;const int INF=1e9;int n,m,S,T;int h[N],ve[M],c[M],ne[M],id;int d[N],q[N],cur[N];void add(int x,int y,原创 2020-08-11 14:37:05 · 238 阅读 · 0 评论 -
【网络流】最大流:最大流判定,拆点,建图实战
最大流判定秘密挤奶机原题链接给出一张包含NNN个点,PPP条边的无向图,1→N1\rightarrow N1→N走TTT次,每条边最多走111次。问:TTT条路径中最大边权的最小值。用dinic+dinic+dinic+二分。判定问题:在无向图中,删除大于midmidmid的边,查找边权≤mid\leq mid≤mid的边,1→N1\rightarrow N1→N是否存在TTT条没有公共边的路径。建图:将无向图变为有向图:S=1,T=nS=1,T=nS=1,T=n,最大可行流流量===路原创 2020-08-11 11:09:10 · 663 阅读 · 2 评论 -
【网络流】最大流:上界可行流,多源汇,关键边
上下界可行流无源汇上下界可行流原题链接可行流满足:①流量守恒②容量限制:cl(u,v)≤f(u,v)≤cu(u,v)c_l(u,v)\leq f(u,v)\leq c_u(u,v)cl(u,v)≤f(u,v)≤cu(u,v)与一般的可行流不同的是,某一边流量有给定的上下界。建图:流网络为GGG,GGG中的某一个可行流记为fff,无源点与汇点,且有上下界。对于(G,f)(G,f)(G,f),我们要建立一个(G′,f′)(G',f')(G′,f′)与(G,f)(G,f)(G,f)对应,且为正原创 2020-08-07 15:59:09 · 537 阅读 · 0 评论 -
【网络流】最大流:算法模板,二分图匹配
求最大流Ek算法 时间复杂度:O(nm2)O(nm^2)O(nm2)给一个流网络,维护残留网络。while ①在当前的残留网络里找增广路(bfs):f' ②更新残留网络:把当前的残留网络 Gf 更新为新流的残留网络 G(f+f') ①简单的遍历,用bfsbfsbfs即可。②假设当前残留网络里正向边的容量为c1c_1c1,反向边的容量为c2c_2c2,且增广路径流了kkk的流量,正向边的容量变为c1−kc_1-kc1−k,反向边的容量变为c2+kc_2+kc2+k。更新:一旦找到一原创 2020-08-06 15:16:26 · 883 阅读 · 0 评论 -
【网络流】网络流的基本概念
流网络:G=(V,E)G=(V,E)G=(V,E)①有向图,可有环,不考虑反向边。②对于每条边,都有c(u,v)c(u,v)c(u,v),称为边的容量。③有两个特殊的点,源点sss、汇点ttt。可行流:fff①不考虑反向边。②需要满足的条件:容量限制:0≤f(u,v)≤c(u,v)0\leq f(u,v) \leq c(u,v)0≤f(u,v)≤c(u,v)流量守恒:∀x∈v{s,t},∑(v,x)∈Ef(v,x)=∑(x,v)∈Ef(x,v)\forall x\in v \{s,t\},原创 2020-08-04 08:15:12 · 253 阅读 · 0 评论