码迷,mamicode.com
首页 > 其他好文 > 详细

网络流小结

时间:2014-10-06 18:12:30      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   sp   问题   c   on   

网络流主要包括:

1、最大流

2、费用流

3、有上下界的网络流

 

网络流的基本技巧:

1、多个源点和汇点的情况。建立超级源点和超级汇点。

2、顶点有容量限制。拆成两个点,此两点连边,容量为原来的点被限制的容量。

3、最大费用转为最小费用。变负数,最后变回来。

 

一、最大流

最大流算法的思想是不断地找ST的增广路。算法的效率是由找增广路的方法决定的。

Edmond - Karp算法:用广搜找增广路,时间复杂度 O (n*m*m )。思路最简单。

SAP算法:在寻找增广路的时候用了允许弧,并且用了Dinic算法的优化。时间复杂度为O(m*n*n)

Dinic算法:时间复杂度为O(m*n*n)

个人体会:最大流的题目一般不要求对算法进行修改(模版),难点在于如何把问题转为最大流问题,建图是一个难点。巧妙的建图可以把点的数量减少,从而减少时间复杂度。有一个文档叫网络流建模汇总,做得非常好。

题目链接http://www.cnblogs.com/Potato-lover/category/611621.html

1、判断满流

3572  Task Schedule 

2883  kebab

2、二分+最大流

传送门:

3、最短路+最大流

3416 Marriage Match IV

 

二、费用流

一般情况下都是求最大流条件下的最小费用。

算法: 连续最短路算法。

时间复杂度OC*k*m),C是最终的流量,k*m就是SPFA算法的时间复杂度。

题目链接:http://www.cnblogs.com/Potato-lover/category/615756.html

 

三、有上下界的网络流

已经做过总结:http://www.cnblogs.com/Potato-lover/p/4002823.html

 

 

网络流小结

标签:style   blog   http   color   ar   sp   问题   c   on   

原文地址:http://www.cnblogs.com/Potato-lover/p/4008360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!