题目大意:给定一个n个点m条边的无向图,每条边有一个扩容费用c,代表每扩容1流量的花费,求最大流及将最大流扩大k的最小费用
第一问直接跑最大流
第二问将每条边的起始点向终点连接一条流量为正无穷、费用为c的边 然后将n向汇点连一条流量为ans+k 费用为0的边 跑最小费用最大流即可
#include
#include
#include
#include
#define M 5010
#defi...
分类:
Web程序 时间:
2014-11-19 14:14:51
阅读次数:
252
蒟蒻zyk又来发水题题解了。。。
题目链接:http://poj.org/problem?id=2135
题意:无向边的最小费用最大流,注意要另建超级源点和超级汇点,加一条无向边相当于加4条有向边。
#include
#include
#include
#include
#include
#include
#define MAXV 10100
#define MAXE 1000...
分类:
其他好文 时间:
2014-11-14 17:56:52
阅读次数:
186
题目:poj 2135 Farm Tour
题意:给出一个无向图,问从 1 点到 n 点然后又回到一点总共的最短路。
分析:这个题目不读仔细的话可能会当做最短路来做,最短路求出来的不一定是最优的,他是两条分别最短,但不一定是和最短。
我们可以用费用流来很轻易的解决,建边容量为1,费用为边权,然后源点s连 1 ,费用0 ,容量 2 ,n点连接汇点,容量2,费用0,,就可以了。...
分类:
其他好文 时间:
2014-11-10 10:02:42
阅读次数:
257
题目大意:宇宙空间中进行了一次竞速大赛。有两种飞行方式,第一种是通过正常的道路,但是只能从标号小的飞到标号大的地方;第二种是直接过去,但是需要花费固定的时间。问正好遍历一次所有的点最少需要的多少时间。
思路:费用流。把每个点拆点,S到每个点的起点连费用0的边,向每个终点连费用为固定费用的边,图中原有的边从一个的起点连到另一个点的终点。然后每个点的终点向T连边。跑最小费用最大流就是最后的答...
分类:
其他好文 时间:
2014-10-27 12:56:03
阅读次数:
185
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=693题意:有一个 k 核的处理器和 n 个工作,全部的工作都须要在一个核上处理一个单位的时间,每一个核在不同一时候间处理同一个工作的花费是递增的,每一个核一次仅仅能处理一个工作,求运用k个核...
分类:
其他好文 时间:
2014-10-27 10:44:19
阅读次数:
223
题意:自行脑补,看懂分段函数是什么就行。
思路:显然是最小费用最大流。
对于每个工作人员的每一段,从原点到工作人员对应的点连一条费用与流量与这一段其相适应的边。
对于每个部件,从其对应的点到汇点连一条流量为需要的数目,费用为0的边。
然后就可以出解了。
建模还是很显然的。
还有这题我写spfa的多路增广TLE了,反倒是不加上多路增广能过。不知道为什么。。。
Code:...
分类:
其他好文 时间:
2014-10-21 17:50:21
阅读次数:
169
嗯~第一次写费用流题。。。这道就是费用流的模板题,找不到更裸的题了建图:每个m(Man)作为源点,每个H(House)作为汇点,各个源点与汇点分别连一条边,这条边的流量是1(因为每个源点只能走一条边到汇点),费用是 从源点走到汇点的步数,因为有多个源点与汇点,要建一个超级源点与超级汇点,超级源点与各...
分类:
其他好文 时间:
2014-10-18 23:41:05
阅读次数:
401
题目:hdoj 3376 Matrix Again
题意:给出一个m*n的矩阵,然后从左上角到右下角走两次,每次只能向右或者向下,出了末尾点其他只能走一次,不能交叉,每次走到一个格子拿走这个格子中的数字,求价值最大?
分析:很明显费用流,开始想的到一种建图方案,但是那样的话流量全为负值的话会成一个环,所以果断换了。
建图方案是:
首先拆点,每个点拆成两个i 和 ii ,建边...
分类:
其他好文 时间:
2014-10-15 18:56:11
阅读次数:
244
题目:hdoj 3488 Tour
题意:给出n个点m条边,然后让你求每个点只能在一个环中(哈密顿环),且所有点只走一次的最小费用。
分析:直接画图的话可能没有思路,但是把它化成一个二分图的话肯定瞬间思路来了,每个点只走一次,很好建图
建图方案:
每个点拆成两个i 和 ii
然后s连接所有 i ,容量1 ,费用0
ii 连接所有 t ,容量 1 ,费用0
所有右边...
分类:
其他好文 时间:
2014-10-15 13:52:30
阅读次数:
186
题目:Code 1035 火车停留
题目:中文题目,直接读吧
分析:读题之后发现是让费用最大,不容易考虑到费用流,其实费用最大和最小是一样的,费用最大的话可以把费用变为负值求最小的。
建图方法:
超级源点 ss 连接 s ,容量为 n ,费用为0
把每个列车拆成两个点 i 和 ii ,之间建边容量为1 ,费用为给车站交的钱的相反数
s 连接 i ,容量inf ,费用0 ...
分类:
其他好文 时间:
2014-10-14 18:09:39
阅读次数:
193