【POJ2135】Farm Tour 最小费用最大流


题目大意:给你n个点(n <= 1000)和m条边(m <= 10000),现在从点1出发经过一些边后到点n,然后再经过一些边回到点1,每一条边只能走一次,每条边花费的时间不同。求最小路径。


解题思路:最小费用最大流。加一个源点S和一个汇点T,源点S与点1连一条容量为2费用为0点边,点n与汇点T也连一条容量为2费用为0的边,对于题目给定的那些边。每条边的容量为1,费用为每条边花费的时间。注意这是双向边。然后求最小费用。


需要注意的地方:

一、由于具有不同费用的平行边,所以,必须使用邻接表来存,而不能使用邻接矩阵

二、图是双向的,因为此题是无向图,所以建边的时候如果建两条费用都是正的边的话,退流时无法修正费用

所以应该建4条边:

第一对:

a->b cost 1

b->a -cost 0

第二对:

b->a cost 1

a->b -cost 0

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值