kuangbin专题专题四 Heavy Transportation POJ - 1797
题目链接: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的更多相关文章
- Heavy Transportation POJ 1797 最短路变形
Heavy Transportation POJ 1797 最短路变形 题意 原题链接 题意大体就是说在一个地图上,有n个城市,编号从1 2 3 ... n,m条路,每条路都有相应的承重能力,然后让你 ...
- Heavy Transportation POJ - 1797
题意 给你n个点,1为起点,n为终点,要求所有1到n所有路径中每条路径上最小值的最最值. 思路 不想打最短路 跑一边最大生成树,再扫一遍1到n的路径,取最小值即可,类似Frogger POJ - 22 ...
- POJ 1797 Heavy Transportation (Dijkstra变形)
F - Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & ...
- POJ 1797 Heavy Transportation
题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K T ...
- poj 1797 Heavy Transportation(最大生成树)
poj 1797 Heavy Transportation Description Background Hugo Heavy is happy. After the breakdown of the ...
- POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径)
POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径) Description Background Hugo ...
- POJ.1797 Heavy Transportation (Dijkstra变形)
POJ.1797 Heavy Transportation (Dijkstra变形) 题意分析 给出n个点,m条边的城市网络,其中 x y d 代表由x到y(或由y到x)的公路所能承受的最大重量为d, ...
- 「kuangbin带你飞」专题十四 数论基础
layout: post title: 「kuangbin带你飞」专题十四 数论基础 author: "luowentaoaa" catalog: true tags: mathj ...
- POJ 1797 ——Heavy Transportation——————【最短路、Dijkstra、最短边最大化】
Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64 ...
随机推荐
- linux自动挂载远程网盘到本地
sudo vim /etc/fstab 添加如下内容 //192.168.1.110/MyFiles /path/to/mount cifs username=adminz,password=pas ...
- 什么是.NET Native?
使用CoreRT将.NET Core发布为Native应用程序 - KAnts - 博客园 http://www.cnblogs.com/ants/p/8630332.html Microsoft . ...
- Use Spring @Scheduled To Achieve Timing Task
Today I have a chance to use the @Scheduled to achieve a timing task.It is useful.Anyway,it was the ...
- 『SHELL』--SHELL脚本执行方式(转)
Shell脚本的执行方式: 注明:wd代表“脚本保存的目录” 1.fork 语法:/wd/shell.sh fork是最普通的, 就是直接在脚本里面用/wd/shell.sh来调用shell.sh这个 ...
- MacOS X编译OpenSceneGraph
本文主要记录在MacOS X上编译OpenSceneGraph,方便日后查阅.所使用的环境如下: MacOS X 10.10 Yosemite XCode 6.3.2 CMake 3.3.0 Open ...
- CSS3 Generator提供了13个CSS3较为常用的属性代码生成工具,而且可以通过这款工具除了在线生成效果代码之外,还可以实时看到你修改的效果,以及浏览器的兼容性。
CSS3 Generator提供了13个CSS3较为常用的属性代码生成工具,而且可以通过这款工具除了在线生成效果代码之外,还可以实时看到你修改的效果,以及浏览器的兼容性. CSS3 Generator ...
- [書訊]《.NET 依賴注入》 (2014-12-08 更新)
书 名:.NET 依赖注入 页 数:235 格 式:PDF.EPUB.MOBI难易度:中阶至进阶出版日期:2014 年 12 月 8 日ISBN:9789574320684 简介 本书内容是关于 .N ...
- DI 容器实务建议
整理一些有关使用 DI 容器的一些建议事项,主要的参考数据源是 Jimmy Board 的文章:Container Usage Guidelines. 1.容器设定 避免对同一个组件(DLL)重复扫描 ...
- x64系统的判断和x64下文件和注册表访问的重定向(举例了GetProcAddress后转成函数指针的用法)
判断一个32位应用程序是否运行在x64系统下,可以使用下面的代码: BOOL IsX64System() { BOOL bIsWow64 = FALSE; typedef BOOL (WINAPI * ...
- Linux编辑器Vim和Emacs入门
sudo 命令 debian系统没有自带,需要安装: apt-get install sudo 安装位置为 /usr/bin/sudo,对应配置文件为 /etc/sudoers sudoers授权格式 ...