
网络流
文章平均质量分 79
LeeBooL
这个作者很懒,什么都没留下…
展开
-
POJ 3084
第一道最大流的题, 网络流的题都是图不好建立, 一般原创 2014-11-05 18:32:15 · 306 阅读 · 0 评论 -
Dining
裸Dinic模板 #include #include #include #include #include using namespace std; #define inf 1000000000 #define MAXN 555 struct Edge { int v, f, next; }; int n, f, d, src, sink;原创 2015-03-27 23:10:14 · 363 阅读 · 0 评论 -
Going Home
最小费用流,我们先求出m到每个H的最短距离, 然后建立一个超级源点SRC和一个超级汇点SINK, 源点到每一个M的流量值为1, H到每个汇点的流量值也是1,然后 m和H之间的流量也是1,这样就保证,他的单价就是 距离的费用, 也确保了一个人只能找一个家 不断用SPFA找增广路,SPFA的距离指标就是费用 #include #include #include #in原创 2015-03-27 23:13:57 · 352 阅读 · 0 评论 -
Jamie's Contact Groups
二分 + 多值匹配 思路:一对多的二分图的多重匹配。二分图的多重匹配算法的实现类似于匈牙利算法,对于集合C中的元素xi,找到一个与其相连的元素yi后,检查匈牙利算法的两个条件是否成立,若yi未被匹配,则将xi,yi匹配。否则,如果与yi匹配的元素已经达到上限,那么在所有与yi匹配的元素中选择一个元素,检查是否能找到一条增广路径,如果能,则让出位置,让xi与yi匹配。二分求出limit,知道原创 2015-03-27 23:16:53 · 892 阅读 · 0 评论 -
Minimum Cost
费用流问题, #include #include #include #include #include using namespace std; #define MAXN 555 #define INF 0x1f1f1f #define MAXE 50000 struct Edge { Edge(){}; Edge(int a, int b, int c,原创 2015-04-03 00:00:39 · 232 阅读 · 0 评论 -
Control
拆点,求最小割 最小割定理, 求最大流 #include #include #include #include #include using namespace std; #define inf 1000000000 #define MAXN 10000 struct Edge { int v, f, next; }; int n, f, d, src, sink原创 2015-04-03 00:25:28 · 316 阅读 · 0 评论 -
Food
#include #include #include #include #include using namespace std; #define inf 1000000000 #define MAXN 11555 struct Edge { int v, f, next; }; int n, f, d, src, sink; int g[200010]; int nume;原创 2015-04-03 00:23:13 · 589 阅读 · 0 评论 -
Power Network
网络流 #include #include #include #include #include using namespace std; #define inf 1000000000 #define MAXN 555 struct Edge { int v, f, next; }; int n, f, d, src, sink; int g[50010]; int原创 2015-04-03 00:19:17 · 325 阅读 · 0 评论 -
UVALive - 5843 Furniture Factory
对每个时间点添加到终点流为工人数量,从起点对每个工作添加流为所需时间,对工作的时间点添加流为1. 网络流#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<cmath> #include<algorithm> #include<string> #include<map> #include<转载 2015-08-15 14:01:26 · 520 阅读 · 0 评论