<题目链接>

题目大意:

Hugo Heavy要从城市1到城市N运送货物,有M条道路,每条道路都有它的最大载重量,问从城市1到城市N运送最多的重量是多少。

解题分析:

感觉这道题用dijkstra不是很好想,有点抽象。我反而觉得这道题用最大流比较好想,比如EK算法,用BFS求出所有1->n的增广路径,然后求出每条增广路径的最小值,就可最终得到这些最小值中的最大值。

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
#define MAXV 1010
#define INF 0x3f3f3f3f
int map[MAXV][MAXV],n,m; int dijkstra(){
int vis[MAXV],d[MAXV],i,j,v; memset(vis,,sizeof(vis));
for(int i=;i<=n;i++){ //注意这个初始化
d[i]=map[][i];`
}
int cur=;
for(int i=;i<=n;i++){
vis[cur]=;
for(int j=;j<=n;j++){
if(!vis[j]&&d[j]<min(d[cur],map[cur][j])){ //仔细揣摩这里,本题的关键
d[j]=min(d[cur],map[cur][j]);
}
} int cal=-INF,loc=-;
for(int j=;j<=n;j++){
if(!vis[j]&&d[j]>cal){
loc=j;
cal=d[j];
}
}
cur=loc;
} return d[n];
} int main(){
int t,i,j,kcase,a,b,c;
scanf("%d",&kcase);
for(t=;t<=kcase;t++)
{
scanf("%d %d",&n,&m);
memset(map,,sizeof(map)); for(i=;i<=m;i++){
scanf("%d%d%d",&a,&b,&c);
map[a][b]=map[b][a]=c;
}
printf("Scenario #%d:\n",t);
printf("%d\n\n",dijkstra());
}
return ;
}

2018-08-15

poj 1797 最大最小路段【dijkstra】 (经典)的更多相关文章

  1. POJ 1797 Heavy Transportation (Dijkstra变形)

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

  2. POJ 1797 Heavy Transportation(Dijkstra变形——最长路径最小权值)

    题目链接: http://poj.org/problem?id=1797 Background Hugo Heavy is happy. After the breakdown of the Carg ...

  3. POJ 1797 Heavy Transportation (dijkstra 最小边最大)

    Heavy Transportation 题目链接: http://acm.hust.edu.cn/vjudge/contest/66569#problem/A Description Backgro ...

  4. POJ 1797 Heavy Transportation(Dijkstra)

    http://poj.org/problem?id=1797 题意 :给出N个城市M条边,每条边都有容量值,求一条运输路线使城市1到N的运输量最大. 思路 :用dijkstra对松弛条件进行变形.解释 ...

  5. POJ 1797 Heavy Transportation(Dijkstra运用)

    Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can no ...

  6. (简单) POJ 1797 Heavy Transportation,Dijkstra。

    Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can no ...

  7. poj 1797 最短路变形dijkstra

    题意:题目大意:有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量 链接:点我 解题思路:其实这个求最大边可以近似于 ...

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

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

  9. POJ 1797 Heavy Transportation (Dijkstra)

    题目链接:POJ 1797 Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter pro ...

随机推荐

  1. 查看Mac电脑的核心数量

    #显示物理核心数sysctl hw.physicalcpu#显示逻辑核心数sysctl hw.logicalcpu  

  2. mysql 案例 ~ 分析执行完的大事务

    一 简介:今天咱们来聊聊如何定位以及执行完的大事务 二 目的:通过分析binlog脚本来定位执行的大事务 三 分析脚本 mysqlbinlog --base64-output=decode-rows ...

  3. 在css中控制图像的大小

    可在CSS中利用width属性和height属性控制一个图像得到大小,就像控制其他任何盒子的大小一样. <html> <head> <title>TODO supp ...

  4. SVG2PNG(前台和后台将SVG转换为PNG)--amcharts导出png

    在项目中用到了amcharts,amcharts图标统计插件是利用SVG实现的,其自带下载png功能,但是不支持IE以下浏览器.因此研究了SVG转换为png,最终实现的效果是将amcharts生成一张 ...

  5. 使用matplotlib绘制多个图形单独显示

    使用matplotlib绘制多个图形单独显示 一 代码 import numpy as np import matplotlib.pyplot as plt #创建自变量数组 x= np.linspa ...

  6. ARMV8 datasheet学习笔记2:概述

    1. 前言 本文主要概括的介绍ARMV8体系结构定义了哪些内容,概括的说: ARM体系结构定义了PE的行为,不会定义具体的实现 ARM体系结构也定义了debug体系结构和trace体系结构 ARM体系 ...

  7. 解决mysql开启GTID主从同步出现1236错误问题【转】

    最近遇到mysql开启gtid做复制时,从库出现1236错误,导致同步无法进行,本文就这问题记录下处理步骤,有关gtid知识在这里不做介绍,mysql版本为5.7.16. 一.错误原因分析 错误信息如 ...

  8. spring mvc context-param init-param 区别

    init-param:mvc 配置文件context-param spring配置文件

  9. (并发编程)进程 (multiprocessing--Process实现进程并发)

    ['创建进程2方式种', '进程对象属性:join方法,守护进程obj.daemon=True,obj.pid, obj.name, obj.terminate(),obj.is_alive()等 ' ...

  10. centos6.5环境下svn服务器和客户端配置实用详解

    一.服务器端配置 安装 # yum install -y subversion yum安装软件,不清除软件包的方法 # vim /etc/yum.conf keepcache=0 建立svn版本库数据 ...