
网络流
!
fffefw
这个作者很懒,什么都没留下…
展开
-
zoj 2532(Internship )找割边
题目大意就是给你n个城市,m个中转站,以及l条道路,l条道路描述了n个城市(编号为1到n),m个中转站(编号为n+1到n+m)和总中心(视为编号为0的点)的边关系,然后问你增加哪条边的容量可以增加总中心接受到的数据量。 首先设总中心0为超级汇点et(因为它接受信息),然后设个超级源点st(N+M+1),超级源点就是发出数据的点,因为题目说了每个城市可以看作有无限的数据要发送,所以将每个城市和...原创 2018-08-03 19:17:37 · 234 阅读 · 0 评论 -
hdu1532 网络流最大流问题
这是我的网络流第一题,用的是增广路算法即EK算法,算法思想:每次用BFS找一条最短的增广路径,然后沿着这条路径修改流量值(实际修改的是残量网络的边权),顺带修改反图的残余网络的边权。当没有增广路时,算法停止,此时的流就是最大流。 。还有这里之所以要建反图是因为,bfs找最短的增广路的时候是随机找的,找的可能不是最’优‘的,那么就会影响最后我们能得到的最大流,这个时候反图就派上用场了,它可以弥...原创 2018-07-31 15:05:15 · 190 阅读 · 0 评论 -
hdu 1533(最小费用最大流)
主要是如何建图 #include<stdio.h> #include<queue> #include<string.h> #include<iostream>//ek算法 using namespace std; const int maxn=300; const int inf=0x3f3f3f3f; int m,n; int mp[maxn]...原创 2018-08-01 15:10:35 · 629 阅读 · 0 评论 -
poj 3281(最大流)
题目大意就是有n头牛,f种食物,d种饮料,每头牛都有其喜欢的食物和饮料,然后每一种食物和每一种饮料只能分配给一头牛,然后如果一头牛得到了它喜欢的食物和饮料的话,该牛就得到满足,问最多可以满足多少头牛。 这题建图非常的巧妙,最大流建图就是把食物和饮料放在两边,一头牛拆成牛左和牛右,每头牛的牛左和牛右的容量为1。每头牛喜欢的食物和该牛的牛左连边,容量为1,每头牛喜欢的饮料和该牛连边,容量为1,然后...原创 2018-08-01 20:38:34 · 208 阅读 · 0 评论 -
poj 2112 Optimal Milking(二分+floyd+最大流)
题目大意就是k个机器和c头牛组成K+C个点,还有个m表示一个机器最多给m头牛服务,然后给你一个(K+C)*(K+C)的矩阵描述了任意2个物体之间的边关系,边权为0表示无边。然后要你在c头牛都能找到机器配对的前提下求c头牛到机器的最远距离的最小值,先把k个机器和c头牛看成是K+C个点,方法就是跑个floyd先求出任意2个点之间的最短距离,然后在二分最远距离的最小值,设low为0,up为10000...原创 2018-08-03 14:39:57 · 208 阅读 · 0 评论