Berlin Programming Contest 2004 Heavy Transportation /// dijkstra oj22604
题目大意:
输入t;t为样例数
每个样例输入n,m;n 为顶点个数 m 为路径数
接下来m行 每行输入 u v w ;从 u 点到 v 点的路承重为 w
输出 车子若想通过 1~n的最短路 车重需限制在多少之内
1
3 3
1 2 3
1 3 4
2 3 5
Scenario #1:
4
邻接阵dijkstra
重点在此式 dis[i]=max(min(dis[ind],G[ind][i]),dis[i])
即更新 dis[] 时存入的应该是max(min(本条之前路径的承重限制,当前路段的承重限制),其他路径经过该点的承重限制)
经过同条路径 各个路段的承重限制 应选较小的
经过同一个点 各条路径的承重限制 应选较大的
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
int n,m;
int G[][];
int vis[],dis[];
void dijk()
{
while()
{
int maxi=-,ind;
for(int i=;i<=n;i++)
if(!vis[i] && dis[i]>maxi)
maxi=dis[i], ind=i;
if(maxi==-) break;
vis[ind]=;
for(int i=;i<=n;i++)
if(!vis[i])
dis[i]=max(min(dis[ind],G[ind][i]),dis[i]);
}
}
int main()
{
int t; scanf("%d",&t);
for(int j=;j<=t;j++)
{
scanf("%d%d",&n,&m);
memset(vis,,sizeof(vis));
memset(G,,sizeof(G));
while(m--)
{
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
G[u][v]=G[v][u]=w;
} vis[]=;
for(int i=;i<=n;i++)
if(!vis[i]) dis[i]=G[][i];
dijk();
printf("Scenario #%d:\n%d\n\n",j,dis[n]);
} return ;
}
Berlin Programming Contest 2004 Heavy Transportation /// dijkstra oj22604的更多相关文章
- POJ 1797 Heavy Transportation (Dijkstra)
题目链接:POJ 1797 Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter pro ...
- POJ.1797 Heavy Transportation (Dijkstra变形)
POJ.1797 Heavy Transportation (Dijkstra变形) 题意分析 给出n个点,m条边的城市网络,其中 x y d 代表由x到y(或由y到x)的公路所能承受的最大重量为d, ...
- poj1797 Heavy Transportation Dijkstra算法的简单应用
题目链接:http://poj.org/problem?id=1797 题目就是求所有可达路径的其中的最小值边权的最大值 即对于每一条能够到达的路径,其必然有其最小的承载(其实也就是他们自身的最大的承 ...
- POJ1797 Heavy Transportation 【Dijkstra】
Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 21037 Accepted: ...
- POJ1797 Heavy Transportation —— 最短路变形
题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K T ...
- POJ 1797 Heavy Transportation SPFA变形
原题链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K T ...
- POJ 1797 Heavy Transportation (最大生成树)
题目链接:POJ 1797 Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter pro ...
- POJ 1797 Heavy Transportation (dijkstra 最小边最大)
Heavy Transportation 题目链接: http://acm.hust.edu.cn/vjudge/contest/66569#problem/A Description Backgro ...
- POJ 1797 Heavy Transportation (Dijkstra变形)
F - Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & ...
随机推荐
- delphi xe10 安卓设备信息
//引用单元 FMX.Android.DeviceInfo.GetInformation; Memo1.Lines.Add('ID:'+FMX.Android.DeviceInfo.ID); Memo ...
- R语言 基本语法
R语言基本语法 我们将开始学习R语言编程,首先编写一个"你好,世界! 的程序. 根据需要,您可以在R语言命令提示符处编程,也可以使用R语言脚本文件编写程序. 让我们逐个体验不同之处. 命令提 ...
- 【缓存】缓存穿透、缓存雪崩、key重建方案
一.缓存穿透预防及优化 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,但是出于容错的考虑,如果从存储层查不到数据则不写入缓存层,如图 11-3 所示整个过程分为如下 3 步: 缓存层 ...
- cordova 与 phonegap关系
Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎.PhoneGap是一个开源的开发框架,使用HTML ...
- hibernate 一对多查询 对多的一方进行分页
//查询用户留言@Overridepublic List<LeaveWords> getLeaveWords(String userName) {Session session = nul ...
- hdu多校第八场 1003 (hdu6659) Acesrc and Good Numbers 数论/打表
题意: 对于某数k,若数字d在1-k中出现次数恰好为k,则称k为好数. 给定d,x,求x以内,对于d而言最大的好数.k范围1e18. 题解: 打表二分即可. 但是,1e18的表是没法打出来的,只能在o ...
- mdk keil 指定变量、函数存储位置,使用 Scatter-Loading Description File, __attribute__(("section“))
0. 数据类型说明 主要包括4类: Code (inc. data) ,属于RO,也就是写的函数代码(包括代码中的变量) RO Data , 属于RO,使用const修饰的变量. RW Data, 属 ...
- NodeJS学习笔记之Connect中间件模块(二)
一,开篇分析 大家好,今天这篇文章主要是对"Connect"中间件以及相关辅助中间件,做一个源码分析系列,我想上一篇文章大家也看了, 介绍了使用方式及用途,而这篇也是出于本人的兴趣 ...
- HttpWebRequest 基础连接已经关闭: 接收时发生错误 GetRequestStream 因为算法不同,客户端和服务器无法通信。
在代码行 HttpWebRequest objRequest = (HttpWebRequest)HttpWebRequest.Create(sUrl 前面加上 ServicePointManager ...
- java 3des加密问题记录
3des加密有不同的加密模式和填充模式,这个网上很多不多说了,只要保证加解密的时候加密模式和填充模式保持一致就可以了 首先对于密钥的生成,java中有2种方式: 1.第一种,采用ECB模式和不填充模式 ...