网络流入门资料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
甲河到农田间有n个水站,第一个水站表示甲河,第n个水站表示农田,水站的水是从这n个水站中与之相连的另一些水站引入的(是有向的),水站与水站靠水渠连接,水渠有大有小,村民们就迷糊了,到底可以有多少水流到田里呢(即第n个水站)?,水少了庄稼长不好,就要人工撒水。(你可以将甲河看作一条储水量无限大的河,也可以将每个水站的储水量也看作无限大但是除了1号水站其他水站里开始是没有水的) 现在给你这n个水站的相连关系以及每条水渠的最大流量(注:如果给出a站→b站有一条水渠,那么水只能从a流到b),问最后可以有多少水流入农田,你只要输出这个数字,村民们会判断能否满足庄稼的生长需求,你无须操心。 输入格式: n,m表示n个水站 间有m条水渠。 以下m行 a,b,c 表示从a站→b站有一条水渠,容量是c 输出格式:一个数字,即为最多有多少水流入农田。 Intput 6 7 1 2 10 1 3 8 3 4 8 2 4 10 2 5 6 5 6 6 4 6 10 此图中1号节点为源点,6号节点为汇点 基本概念 网络或容量网络:指的是一个连通的赋权有向图D=(V、E),其中V是该图的顶点集,E是有向边(即弧)集。 网络上的流:是指定义在弧集合E上一个函数f={f(u,v)},并称f(u,v)为弧(u,v)上的流量。 V中有一个源点,一个汇点,网络上的流都是由源点流出最终流入汇点。 E中的每一条有向边(u,v)都有一个对应的容量上限c(u,v),通过这条边的流不能超过容量上限。 残留网络 残留网络=容量网络-流量网络 Maxflow 在第一次拓展的时候,会先找到1→2→4→6 这条增广路,增广后三条边的流量都达到了上限,不能再流了。 Maxflow 在第二次拓展的时候,会先找到1→3→4,此时4 →6已经达到容量上限了,所以只能走4 →2(这是一条反向边),再2 →5 →6。 这样一次次拓展,最后得到的流量和就是当前图的最大流了。 Maxflow 编写程序要注意一下几个问题; 1.反向边的容量要赋为0。 2.每次找到一条增广路后,要修改路径上每条边的流量 f(u,v) +=flow; f(v,u)-=flow; 3.访问过的点不能重复访问(对于当前的拓展序列) 这样,问题就被解决了。 Maxflow if (k!=n) { m2=mind; for(j=1;j=n;j++) if (hash[j]==0) {if (c[k][j]-f[k][j]0) {hash[j]=1; if (mindc[k][j]-f[k][j]) mind=c[k][j]-f[k][j]; /*修改瓶颈*/ dg(j); if (flag) /*修改流量*/ f[k][j]+=mind,f[j][k]-=mind,break; mind=m2; } } } SAP算法 推荐使用这种算法求最大流,代码短又好理解而且效率高 将会在后面详细介绍 (其实我就会这么一种- -) 最小费用最大流 最小费用最大流问题相比于最大流问题而言。对于每一条边都多了一个变量value表示单位流量的费用,保证最大流的情况下我们要使费用最少。 表面上看似乎很复杂,其实不然。 首先求出最大流肯定没有问题,那么如何保证费用最少呢,很简单:贪心。我们只要使每次找到的增广路的单位费用最小即可。 这样就把求最大流问题转变成求最短路问题了。最短路就不用讲了噻,这里推荐大家使用SPFA来写。 例题2

文档评论(0)

三哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档