网络流
Mr_Alice
这个作者很懒,什么都没留下…
展开
-
[最小费用最大流模板]MCMF模板
#include<bits/stdc++.h> #define maxn 210 #define maxm 80100 #define INF 0x3f3f3f3f using namespace std; struct node{ int to, ne, w, cost; }e[maxm]; int head[maxn], cnt; int pre[maxn];//记录增...原创 2019-10-17 20:20:21 · 190 阅读 · 0 评论 -
[有源汇最小流]模板 LOJ117
最后几个样例卡死我了。 假设原图源汇是s,t,附加源汇是S,T 方法1: 1.加t->s,流量(0,inf)边,判可行流 2.删掉t->s,假设此时改变流量为res,跑t->s的最大流maxflow 3.答案是res-maxflow 一直wa,然后发现res和可行流的流量是可能不一样的。然并不知道为啥。 方法2: 1.跑s->t最大流 2.加t-&g...原创 2019-10-17 17:51:07 · 154 阅读 · 0 评论 -
[有源汇最大流]模板 LOJ 116
首先考虑有源汇可行流,加一条T->S,流量为INF的边,就变成无源汇可行流的做法了,再建个超级源汇SS和TT做无源汇可行流就好。 跑完可行流之后,再做S->T的最大流 就是答案。 暂时不太知道原理,之后再看看。 c++11 52ms 内存764k 长度1.8k #include<bits/stdc++.h> using namespace std; typedef...原创 2019-10-17 15:30:28 · 224 阅读 · 0 评论 -
[无源汇可行流] 模板LOJ 115
自个设个源点S,汇点T,每个点 du[i]=入度-出度。 du[i]>0时 加边S->i,边权为du[i] du[i]<0时 加边i->T,边权为 -du[i] 设sum为所有>0的du[i]的和 求S->T的最大流,如果maxflow==sum,则存在可行流,此时每条边流掉的流量+它原本的下界就是实际的流量 dfs过程中某个点可能被多次访问,这...原创 2019-10-17 14:51:20 · 152 阅读 · 0 评论 -
[最大权闭合子图]太空飞行计划 网络流24题(2/24)
无序依赖。 注意最后输出方案时,即要输出最后的最大权闭合子图。 最大权闭合子图即最后还与S连通的点。 最后与S连通的点d一定不等于0(or-1,看写法了 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define INF (1e9) const ll maxn=115,maxm=3000...原创 2019-10-16 19:47:20 · 162 阅读 · 0 评论 -
Dinic模板
hhhh赛前自己写了一个版本的模板,也不知道效率咋样,但是亲手写出来的意义不同!嗯! #include<bits/stdc++.h> using namespace std; #define INF (1e18) typedef long long ll; const ll maxn=205,maxm=50205; ll n,m,S,T,sum,cnt; ll l[maxm]...原创 2019-10-16 16:37:02 · 282 阅读 · 0 评论