(51)-POJ 2263 Heavy Cargo算法设计与分析_第1页
(51)-POJ 2263 Heavy Cargo算法设计与分析_第2页
(51)-POJ 2263 Heavy Cargo算法设计与分析_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

POJ2263HeavyCargo(Floyd变形)\t"/u013480600/article/details/_blank"focus_best

2014-07-1315:06:41

1476

收藏分类专栏:

\t"/u013480600/article/details/_blank"ACM--题解汇总

\t"/u013480600/article/details/_blank"图论--Floyd

文章标签:

\t"/u013480600/article/details/_blank"ACM

\t"/u013480600/article/details/_blank"algorithm

\t"/u013480600/article/details/_blank"算法版权POJ2263HeavyCargo(Floyd变形)\t"/u013480600/article/details/_blank"/problem?id=2263题意:

给你一个无向图,图中每条路有一个负重限制v.现在要你求从A点到B的的所有可能路径中,负重量最大的那个值(那条边的负重值).即假设从A到B有一条路径,该路径包括负重为10,20,30,5的4条路.那么该路径的负重就是5.现在我们要求一条负重值最大的路.分析:

此题可由floyd算法解.我们用d[i][j]表示从i到j的路径中的负重值最大者,且d[i][j]==0表示此路不通.每次用d[i][k]+d[k][j]更新d[i][j]时,我们都用大的值去更新小的值.这样得到的新路径的负重值自然更大.

其实这个思想就是floyd的动态规划思想,具体细节体会代码。AC代码:#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<map>#include<algorithm>#defineINF1e9usingnamespacestd;constintmaxn=200+10;intd[maxn][maxn];intn,m;voidfloyd(){for(intk=1;k<=n;k++)for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)if(d[i][k]>0&&d[k][j]>0)d[i][j]=max(d[i][j],min(d[i][k],d[k][j]));}intcnt;map<string,int>mp;intID(strings){if(mp.find(s)==mp.end())mp[s]=++cnt;returnmp[s];}intmain(){intkase=0;while(scanf("%d%d",&n,&m)==2&&n&&m){cnt=0;mp.clear();for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)d[i][j]=i==j?INF:0;//0表示此路不通,无法负重while(m--){strings1,s2;intweight;cin>>s1>>s2>>weight;intu=ID(s1),v=ID(s2);d[u][v]=d[v][u]=weight;}floyd();strings1,s2;cin>>s1>>s2;intu=ID(s1),v=ID(s2);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论