poj 2135 有流量限制的最小费用最大流

题意:

农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。

农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。

约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。

如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。


解析:

如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。

但是现在要去要回,并且不能经过相同的道路,这样。

如果先计算去时最短路,再计算回来时最短路,是不行的。(dp思想)

所以,来求从1号顶点到n号顶点的两条没有公共边的路径。

所以,把顶点之间连接一条流量为1,费用为路程的边。

这样转换之后,就是流量为2的最小费用流了。


敲了n遍有流量限制的网络流,终于a了。。。


代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <stack>
#include <vector>
#include <queue>
#include <map>
#include <climits>
#include <cas
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值