题目大意:

给你以T, 代表T组测试数据,一个n代表有n个点, 一个m代表有m条边, 每条边有三个参数,a,b,c表示从a到b的这条路上最大的承受重量是c,

让你找出一条线路,要求出在这条线路上的最小承重, 在所有其他线路最大。

题目分析:

这里只要将spfa进行一下变形就可以解决这问题了。

首先 我们的dist数组,起点位置要初始化为 INF, 其他位置初始化为 0

然后我们更新 dist 数组, 结果输出 dist[n]就行了

为什么这样写: 因为我们每次要找 所有路径中的最大边的最小一个, 说的可能有写绕口

递推式是: dist[e] = max(dist[e], min(dist[s], G[s][i]) );

下面是代码:

 #include <iostream>
#include <cstdlib>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <queue>
using namespace std;
#define INF 0xfffffff
#define maxn 1050 struct Edge
{
int e;
long long w;
};
vector<Edge> G[maxn];
long long dist[maxn];
bool vis[maxn];
int m, n;
long long Spfa()
{
Edge P, Pn;
P.e = , P.w = ;
queue <Edge> Q;
Q.push(P); while( !Q.empty() )
{
P = Q.front();
Q.pop();
vis[P.e] = false;
int len = G[P.e].size(); for(int i=; i<len; i++)
{
Pn = G[P.e][i]; if(dist[Pn.e] < min(dist[P.e],Pn.w) )
{
dist[Pn.e] = min(dist[P.e],Pn.w); if(!vis[Pn.e])
{
vis[Pn.e] = true;
Q.push(Pn);
}
}
}
}
return dist[n];
}
void Init()
{
for(int i=; i<=n ;i++)
{
G[i].clear();
vis[i] = false;
dist[i] = ;
}
dist[] = INF;
}
int main()
{
int T, cas = ;
Edge P;
cin >> T; while(T--)
{
scanf("%d%d",&n,&m); Init();
for(int i=; i<m; i++)
{
int a, b, c;
scanf("%d%d%d",&a,&b,&c);
P.e = b, P.w = c; G[a].push_back(P); P.e = a; G[b].push_back(P);
}
long long ans = Spfa(); printf("Scenario #%d:\n%lld\n",cas++,ans);
if(T)
printf("\n"); }
return ;
}

poj1797 - Heavy Transportation(最大边,最短路变形spfa)的更多相关文章

  1. Heavy Transportation POJ 1797 最短路变形

    Heavy Transportation POJ 1797 最短路变形 题意 原题链接 题意大体就是说在一个地图上,有n个城市,编号从1 2 3 ... n,m条路,每条路都有相应的承重能力,然后让你 ...

  2. POJ--1797 Heavy Transportation (最短路)

    题目电波: POJ--1797 Heavy Transportation n点m条边, 求1到n最短边最大的路径的最短边长度 改进dijikstra,dist[i]数组保存源点到i点的最短边最大的路径 ...

  3. POJ1797 Heavy Transportation —— 最短路变形

    题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K T ...

  4. (Dijkstra) POJ1797 Heavy Transportation

    Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 53170   Accepted:  ...

  5. POJ1797 Heavy Transportation 【Dijkstra】

    Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 21037   Accepted:  ...

  6. [POJ1797] Heavy Transportation(最大生成树 || 最短路变形)

    传送门 1.最大生成树 可以求出最大生成树,其中权值最小的边即为答案. 2.最短路 只需改变spfa里面的松弛操作就可以求出答案. ——代码 #include <queue> #inclu ...

  7. POJ1797 Heavy Transportation (堆优化的Dijkstra变形)

    Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can now expand bus ...

  8. POJ1797 Heavy Transportation(SPFA)

    题目要求1到n点的最大容量的增广路. 听说是最短路求的,然后乱搞就A了.. 大概能从Bellman-Ford的思想,dk[u]表示从源点出发经过最多k条边到达u点的最短路,上理解正确性. #inclu ...

  9. [poj1797]Heavy Transportation<最大生成树prim&kruskal>

    题目链接:http://poj.org/problem?id=1797 题意:给定n个点,m条边,每条边连接两点切有权值.求点1到点n的路径的上的最小边的值最大... 翻别人博客找到的题,方法挺多的, ...

随机推荐

  1. Android中为图标加上数字--用于未读短信数提醒,待更新应用数提醒等

    本文属于原创,转载请著名出处:http://flysnow.iteye.com/blog/906770 写道 在我们开发一些如短消息.应用商店等应用时,会考虑在短消息的图标上加上未读短信的数量,在应用 ...

  2. Java POI导入Excel文件

    今天在公司需要做个导入Excel文件的功能,所以研究了一下,参考网上的一些资料总算是做出来了,在此记录一下防止以后忘记怎么弄. 本人用的是poi3.8,所以需要的JAR包如下: poi-3.8.jar ...

  3. JBoss EAP6/AS7/WildFly: How to Use Properties Files Outside Your Archive--reference

    Introduction I’d like to preface this post with, really, all properties files should be inside your ...

  4. Android WindowManager的使用

    经常,我们看到在桌面上可移动的悬浮窗,这种场景还是很多的, 像流量统计,桌面歌词等,安全软件的清理小部件 这种小部件主要是通过 WindowManager ; WindowManager.Layout ...

  5. YII框架开发一个项目的通用目录结构

    YII框架开发一个项目的通用目录结构: 3 testdrive/ 4 index.php Web 应用入口脚本文件 5 assets/ 包含公开的资源文件 6 css/ 包含 CSS 文件 7 ima ...

  6. HTML5 Canvas 概述

    本文中,我们将探索如何使用HTML5的Canvas API.Canvas API很酷,我们可以通过它来动态创建生成和展示图形,图表,图像以及动画.本文将使用渲染API(rendering API)的基 ...

  7. (转)Mac OS X中配置Apache

    我使用的Mac OS X版本是10.8.2,Mac自带了Apache环境. 启动Apache 设置虚拟主机 启动Apache 打开“终端(terminal)”,输入 sudo apachectl -v ...

  8. Python中小中花括号的区别

    Python主要有三种数据类型:字典.列表.元组.其分别由花括号.中括号.小括号表示. 如: 字典:dic={'a':12, 'b':34} 列表:list=[1,2,3,4] 元组:tup=(1,2 ...

  9. 浅谈C++ 异常处理的语义和性能

    异常处理是个十分深奥的主题,这里只是浅论其对C++性能的影响. 在VC++中,有多个异常处理模式,三个最重要: No exception handling (无异常处理) C++ only (C++语 ...

  10. Cisco CatOS系统交换机的SPAN配置

    以下内容摘自最新上市的“四大金刚”图书之一<Cisco交换机配置与管理完全手册>(第二版)(其它三本分别为<Cisco路由器配置与管理完全手册>(第二版).<H3C交换机 ...