网络流

1。最大流问题

即给定源点s和汇点t, 求s到t的最大流.

几个名词:

(1).容量(capacity): 对于一条边(u,v),它的物品上线称为容量,记作C(u,v),对于不存在的边C(u,v)=0

(2).流量(flow): 实际运送的物品称为流量,记作F(u,v),且F(u,v) = -F(v,u),所有F(u,v)最多只有一个为整数(可以都是0)

(3).残流量: 容量与流量之差称为残流量(简称残量)

在最大流问题中, 容量C和流量F满足3个性质:

(1).容量限制: F(u,v) <= C(u,v)

(2).斜对称性: F(u,v) = -F(v,u)

(3).流量平衡: 即从s点流出的净流量 == 流入t的净流量

 

求最大流问题的经典算法——增广路算法(EK算法)

注:这里我用自己的想法描述,以书本为准!!

每次找出从s到t的一条道路的最小残量d, 把对应边的流量减去d,所求的最大流max+=d;

直到整个网络中存在的道路其最小残量值都为0, 则表示已经是最大流了.

 

练习:

poj 1459 Power Network

http://162.105.81.212/JudgeOnline/problem?id=1459

 

poj 1273 Drainage Ditches

http://162.105.81.212/JudgeOnline/problem?id=1273

题目要看清楚...cap[A][B] += C;

最好用bfs, dfs很容易被搞死.

 

 

poj 1149 PIGS

http://162.105.81.212/JudgeOnline/problem?id=1149

注意建图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值