网络流
ThreeWater-
这个作者很懒,什么都没留下…
展开
-
网络流
第一步,计算可增加流量 设某一增广路径上的节点为(a1,a2,a3,a4,….,an) 如果(u,v)是正向边,则增加流量d = min{ c(ai,aj) - f(ai,aj) | j = i +1, i =1,2,3…,n-1} 如果是逆向边,则增加流量d = min{ f(ai, aj) | j = i +1, i =1,2,3…,n-1} 第二步,更新流量 如果(u,v)是正向边,转载 2016-09-18 11:57:11 · 178 阅读 · 0 评论 -
网络流-EK
#include <cstdio> #include <cstring> #include <algorithm> #include <queue> using namespace std; const int N=505; int cf[N][N],pre[N]; int n,m,flow[N]; int s,t;//源点,汇点 int bfs()//寻找增广路,即寻找是否还有流可以扩充 {原创 2016-11-29 14:37:27 · 158 阅读 · 0 评论 -
hiho1378 最小割集
#include <cstdio> #include <cstring> #include <queue> #include <set> #define inf 100000000 #define N 505 #define M 20005 #define typec int using namespace std; typec Max(typec a,typec b){return a>b?a:b原创 2016-11-30 12:30:47 · 324 阅读 · 0 评论 -
网络流-dinic
#include <cstdio> #include <cstring> #include <queue> #define inf 100000000 #define N 205 #define M 1050 #define typec int using namespace std; typec Max(typec a,typec b){return a>b?a:b;} typec Min(typ原创 2016-11-30 12:16:25 · 272 阅读 · 0 评论