题目链接:https://vjudge.net/problem/POJ-1797

思路:请参考我列出的另一个题目,和这个题目要求的值相反,另一个清楚后,这个写的解释就明白了。

另一个类似题目的博客:https://www.cnblogs.com/SSummerZzz/p/11200821.html

其实,我们要求的就是从起始点开始到结束点的所有路线中每条路线都选出个子最短的两点通路距离,然后从这些最短通路中选出最长的那条,即最大的最小距离。

那就是way[ x ] 里面存的变成了从起始点到这个点的所有路线的最大的最短通路距离,然后让这个值尽可能的大,即最大化最小距离。

(代码不写注释了,懂了代码就很好理解,注意一下init()函数中,初始化距离变成了0,不清楚的话可以自己思考)

 #include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <string>
#include <cmath>
#include <iomanip>
using namespace std; typedef long long LL;
#define inf (1LL << 30) - 1
#define rep(i,j,k) for(int i = (j); i <= (k); i++)
#define rep__(i,j,k) for(int i = (j); i < (k); i++)
#define per(i,j,k) for(int i = (j); i >= (k); i--)
#define per__(i,j,k) for(int i = (j); i > (k); i--) const int N = ;
int mp[N][N];
bool vis[N];
int w[N];
int n,m; void init(){ rep(i,,n) vis[i] = false;
rep(i,,n) rep(j,,n) {
mp[i][j] = ;
}
} void input(){ int u,v,W;
rep(i,,m){
cin >> u >> v >> W;
if(mp[u][v] < W) mp[u][v] = mp[v][u] = W;
}
} void dijkstra(){ rep(i,,n) w[i] = mp[][i];
vis[] = true; rep(i,,n){ int x = -;
int W = -; rep(j,,n){
if(!vis[j] && W < w[j]) W = w[x = j];
} if(x == -) continue; vis[x] = true;
rep(k,,n){
if(!vis[k] && w[k] < min(w[x], mp[x][k])){
w[k] = min(w[x], mp[x][k]);
}
}
}
} int main(){ ios::sync_with_stdio(false);
cin.tie(); int T;
cin >> T;
rep(i,,T){ cin >> n >> m; init();
input();
dijkstra(); cout << "Scenario #" << i << ":" << endl;
cout << w[n] << endl << endl;
} getchar();getchar(); return ;
}

kuangbin专题专题四 Heavy Transportation POJ - 1797的更多相关文章

  1. Heavy Transportation POJ 1797 最短路变形

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

  2. Heavy Transportation POJ - 1797

    题意 给你n个点,1为起点,n为终点,要求所有1到n所有路径中每条路径上最小值的最最值. 思路 不想打最短路 跑一边最大生成树,再扫一遍1到n的路径,取最小值即可,类似Frogger POJ - 22 ...

  3. POJ 1797 Heavy Transportation (Dijkstra变形)

    F - Heavy Transportation Time Limit:3000MS     Memory Limit:30000KB     64bit IO Format:%I64d & ...

  4. POJ 1797 Heavy Transportation

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

  5. poj 1797 Heavy Transportation(最大生成树)

    poj 1797 Heavy Transportation Description Background Hugo Heavy is happy. After the breakdown of the ...

  6. POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径)

    POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径) Description Background Hugo ...

  7. POJ.1797 Heavy Transportation (Dijkstra变形)

    POJ.1797 Heavy Transportation (Dijkstra变形) 题意分析 给出n个点,m条边的城市网络,其中 x y d 代表由x到y(或由y到x)的公路所能承受的最大重量为d, ...

  8. 「kuangbin带你飞」专题十四 数论基础

    layout: post title: 「kuangbin带你飞」专题十四 数论基础 author: "luowentaoaa" catalog: true tags: mathj ...

  9. POJ 1797 ——Heavy Transportation——————【最短路、Dijkstra、最短边最大化】

    Heavy Transportation Time Limit:3000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64 ...

随机推荐

  1. Delphi XE5 Android 调用手机震动(通过JObject测试是否支持震动)

    源码如下: uses Androidapi.JNI.Os, Androidapi.JNIBridge; function GetVibratorArray(const AIntArr: array o ...

  2. textblock的LineHeight的调整

    原文:textblock的LineHeight的调整 <TextBlock Width="113.594" Height="73.667" Text=&q ...

  3. win32界面程序开发,自制一个会自动销毁的提示框

    思路:创建线程里面启动窗口,设置定时器关闭该窗口. 创建窗口几个步骤和一般窗口无异,注册.然后createwindow,之后showwinodw,然后消息循环. 在createwindow之后,获取到 ...

  4. oracle解析

    Oracle数据库中的CURSOR分为两种类型:Shared Cursor 和 Session Cursor 1,Shared Cursor Oracle里的第一种类型的Cursor就是Shared ...

  5. PHP 的魔术方法及其应用

    PHP中将所有__(两个下划线)开头的类方法作为魔术方法,这方法之所以称为魔术方法是因为其实现的功能就如变魔术一样感觉很神奇.在特定的事件下触发,这真的很酷. **__construct()** 这个 ...

  6. .NET错误提示之:无法更新EntitySet“TableName”因为它有一个DefiningQuery

    使用LINQ 进行提交数据时发生的错误提示 原因:提交的对象表 没有设主键.

  7. LockWindowUpdate

     //锁住listview防止反复刷新              LockWindowUpdate(Self.lvsearch.Handle);    貌似不太行,多用几下就卡住了  那个函数几乎不用 ...

  8. Ruby元编程:执行某个目录下的全部测试用例

    目前手里有个测试项目各个feature的测试用例都放在对应的子目录下,虽然有自动化测试框架的帮助执行起来很方便,但是偶尔也有需要在本地执行某个feature的全部测试用例集合.因为本人对shell脚本 ...

  9. 小程序请求接口统一封装到一个js文件中

    在我们做小程序时,数据请求数据请求是避免不了的,然而我们用官方自带的请求方式,会给我们带来很多重复的工作,所以我就借鉴大神们的博客,写了一个简单的请求方式. 1.首先我们在utils中新建一个api. ...

  10. CSS3 - vue中纯css实现柱状图表效果

    背景 以前我们制作柱状图都用echarts或者其他同类型的图表插件 这次是个移动端的需求,而且这个图表需要动画 使用echarts就会显得过重,而且动画达不到我想要的效果(主要是我自己愚蠢想不到好的动 ...