- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最大流 (一) scaneeling 增广路 由网络中的点组成的序列 若对每一对相继点υi、υi+1或者(υi,υi+1)或者(υi+1,υi)是网络中的弧,则称p是一条连结υ0到υk的通路。设p是一条连接υs到υt的链,从υs出发,沿p走到υt时,则链p中与走向有相同方向的弧称为前向弧;有相反方向的称为后向弧。如果对于给定的流?,它在p 的每条前向弧上的流量都小于容量,在每条后向弧上的流量都大于零,则称通路 p是关于流?的一个增广路(链) 在网络上寻求一个使流量 υ(?)达到最大的流?,称之为网络最大流问题。它是网络流理论中的一个主要研究课题,已获得一些重要结果: ① 若各弧上的容量都是正整数,则必存在各弧上的流量都是整数的最大流。 ② 流?是最大流的充分必要条件是,不存在关于?的增广链。从而将寻求最大流问题化为判断有无增广链问题 求解最大流的算法Edmond-Karp算法 1.初始化记录路径数组pre[]和到达点的最大流flow[] 2重复以下步骤 (1)从source找一条所有边容量不为0的的增广路到sink,用pre记录下这条路径, (2)如果上一步找路失败则算法终止,否则sum+=flow[sink],然后沿路修改对应边的容量,即cij-=flow[sink],而给逆边一个回流cji+=flow[sink] 3.sum为source到sink的最大流 模拟过程 1 2 3 4找到第一条增广路 sum+=flow[T]=1 5,沿路修改路上的流量 6同样的方法找到第二条增广路,总流量sum+=flow[T]=1 7同样的方法修改第二条增广路, 8同样的方法找到第三条增广路,sum+=flow[T]=3 9同样的方法修改第三条增广路 算法源码 int BFS() { int i,j,k,v,u; memset(pre,-1,sizeof(pre)); for(i=1;i=n;++i)flow[i]=max_int; queueintque; pre[source]=0; que.push(source); while(!que.empty()) { v=que.front(); que.pop(); for(i=1;i=n;++i) { u=i; if(u==source||pre[u]!=-1||map[v][u]==0)continue; pre[u]=v; flow[u]=min(flow[v],map[v][u]); que.push(u); } } if(flow[sink]==max_int)return -1; return flow[sink]; } int Edmonds_Karp() { int i,j,k,temp,ans,now,last; ans=0; while(1) { if((temp=BFS())==-1)break; ans+=temp; now=sink; while(now!=source){ last=now;now=pre[now];map[now][last]-=temp;map[last][now]+=temp; } } return ans; } /* 6 8 5 1 2 5 3 1 1 2 2 1 4 1 3 2 2 3 4 2 2 6 1 4 6 1 */ 为什么要给反边一个补流呢 EK可以过的题目 pku 1459 Y pku 1149 pku 1274 pku 3281 高效ISAP模板 int Augment() { int now,last,ans=max_int; now=sink; while(now!=source){last=now;now=pre[now];ans=min(ans,g[now][last]);} now=sink; while(now!=source){last=now;now=pre[now];g[now][last]-=ans;g[last][now]+=ans;} ret
您可能关注的文档
最近下载
- 福建省部分(六市)地市2025届高三上学期第一次质量检测试题(六市一模)数学试卷含答案.pdf VIP
- 福建省部分(六市)地市2025届高中毕业班第一次质量检测(六市一模)数学.docx VIP
- 2024年智慧旅游服务普及率大幅提升.pptx
- 《仪式过程:结构与反结构》.pdf
- 2024新修订《公司法》重点学习.pptx
- 数学丨重庆市主城五区一诊高2025届高三1月暨学业质量调研抽测数学试卷及答案.pdf VIP
- 同等学力硕士全国统考心理学--普心考点精要.pdf VIP
- 同等学力硕士全统考心理学必看资料-发心教心社心考点精要增强版.doc VIP
- 徐州市2025届高三第一次调研测试(一模)数学试卷(含官方答案).pdf
- 水果验收标准.doc VIP
文档评论(0)