首页 > 代码库 > 转自 Good morning 的几句精辟的话
转自 Good morning 的几句精辟的话
1.志愿者招募
根据流量平衡方程来构图非常方便,而且简单易懂,以后可能成为做网络流的神法之一
简单记一下流量平衡方程构图法的步骤:
a.列出需求不等式
b.通过设置松弛变量,将不等式变成等式
c.两两相减,得到流量平衡方程
d.观察方程,>0表示得到的流量,<0表示输出的流量,如果是跟需求量有关的变量,则跟源点和汇点连,如果是跟费用有关的变量则把相关的方程对应连边
e.使用最小费用最大流算法求解
具体连边方法:令oo=maxlongint,连(i,j,k,l)表示i向j连容量为k,费用为l的边
a.令a[0]=a[n+1]=0,对于a[i]-a[i-1]>0连(s,i,a[i]-a[i-1],0),而a[i]-a[i-1]<0,则连(i,t,a[i-1]-a[i],0)
b.连(i+1,i,oo,0)
c.对于每类志愿者(x,y,z),连(x,y+1,oo,z)
2.小结
网络流的本质其实就是贪心
网络流和不等式,流量平衡方程密不可分,在某种意义上,他们甚至可以说是等价的
网络流往往能处理一些依赖关系非常强的最优化问题
网络流的一些经典模型要熟悉,如最大权闭合图一类的最小割模型的应用,平面图网络流转最短路(反过来也不无可能的说)
如果要用网络流来搞题目,一定要列出目标式,明确要最优化的方向,通过对式子的变形来让看起来没法做的变得可以做;或是直接列流量平衡方程来构图
费用流相当于是给最大流增了一维,功能更强大的代价是速度慢了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。