dij费用流

1:为啥可以直接上去直接把是h函数全部都是变成0  因为一开始所有的边的值都是正数。咦,我们不是加上了反向边?但是这个时候因为反向边都是没有流量的啊。

2:如果当前找到增广路了,这个增光路的流量流完了,那最短路的处理能够使得下次dijkstra的时候,这条路不变成增广路吗?

3:如果单纯只是出现负边权,而没有出现负环,这个时候dijkstra其实就够了。但是如果出现了负环,就必须使用spfa处理一下。

4:以下问题的概括:只要图=初始没有负环,那之后就不会出现负环,

费用流刚建图的时候,因为反向边没有流量,所以spfa的时候是不会出现负环的。但是如果找到了一条增光路之后,给反向边增加了流量,这个时候会不会出现负环呢?

这个问题真的是困扰了我好久。假设我们求解从s出发,到t目的地的最大流量最小费用。假设找到了一条增广路a,这条增广路花费的费用Wa一定是最少的(因为走的是最短路,路径就是花费)。现在给这条增光路反向加流量,现在这条增光路正向一定是走不通的(因为这条增光路上已经流光了最细的那个地方的流量),但是反向可以走,而且反向花费(也就是路径)是-Wa。那有没有可能后面再找一条增光路b,在spfa的过程中这条增光路从s出发,到t后,又反向沿着第一条增光路返回来呢?这个时候会不会形成负环呢?答案是不会的!因为b增光路的花费(也就是路径)Wb一定是>=Wa的。所以从s沿着b增光路出发,到t,再反向沿着增光路a回来。这个路径的权值一定是大于0的,所以是不会出现负环的。

5:终于有点理解为啥不加势函数的dijkstra费用流超级慢!!!

因为

6:不加势函数的dijkstra费用流只是适用于一开始正向边都是正数的费用流图,并且反向边一开始流量都是0。

7:如果一开始图里面就存在负环,那一定是搞不了的。 

https://www.cnblogs.com/rmy020718/p/9548758.html

https://www.cnblogs.com/tkandi/p/10532774.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值