http://poj.org/problem?id=1797

题意 :给出N个城市M条边,每条边都有容量值,求一条运输路线使城市1到N的运输量最大。

思路 :用dijkstra对松弛条件进行变形。解释一下样例吧:从1运到3有两种方案
方案1:1-2-3,其中1-2承重为3,2-3承重为5,则可以运送货物的最大重量是3(当大于3时明显1到不了2)
方案2:1-3,可知1-3承重为4,故此路可运送货物的最大重量是4,故答案输出4

#include <iostream>
#include <stdio.h>
#include <string.h> using namespace std; int a[][],n,m,dp[] ;
bool map[] ;
void dijk(int t)
{
memset(map,,sizeof(map[])*(n+)) ;
for(int i = ; i <= n ; i++)
{
dp[i] = a[t][i] ;
}
dp[t] = ;
map[t] = true ;
for(int i = ; i < n ; i++)
{
int k = t ,temp = ;
for(int j = ; j <= n ; j++)
{
if(map[j]) continue ;
if(temp <= dp[j])
{
temp = dp[k = j] ;
}
} map[k] = true ;
if(map[n]) return ;
for(int j = ; j <= n ; j++)
{
if(map[j])
continue ;
dp[j] = max(dp[j],min(dp[k],a[k][j])) ;
}
}
}
int main()
{
int T ,c = ;
scanf("%d",&T) ;
while(T--)
{
scanf("%d %d",&n,&m) ;
for(int i = ; i <= n ; i++)
{
memset(a[i],,sizeof(a[i][])*(n+)) ;
}
for(int i = ; i < m ; i++)
{
int u,v,w ;
scanf("%d %d %d",&u,&v,&w) ;
a[u][v] = a[v][u] = max(a[u][v],w) ;
}
dijk() ;
printf("Scenario #%d:\n",c++) ;
printf("%d\n\n",dp[n]) ;
}
return ;
}

POJ 1797 Heavy Transportation(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 最小边最大)

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

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

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

  4. POJ 1797 Heavy Transportation(Dijkstra运用)

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

  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(最大生成树/最短路变形)

    传送门 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 31882   Accept ...

  7. poj 1797 Heavy Transportation(最短路径Dijkdtra)

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

  8. POJ 1979 Heavy Transportation (kruskal)

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

  9. POJ 1797 Heavy Transportation(最短路&Dijkstra变体)题解

    题意:给你所有道路的载重,找出从1走到n的所有路径中载重最大的,即路径最小值的最大值. 思路:和之前的POJ3268很像.我们用Dijkstra,在每次查找时,我们把最大的先拿出来,因为最大的不影响最 ...

随机推荐

  1. ###《VIM实用技巧》

    ###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...

  2. 选用 get 与 post 的一些建议

    1.http的请求方法:get  post 2. get:会把请求的内容  放到链接地址里面(数据请求的时候  默认的是get请求) 例:www.baidu.com/user/login?userna ...

  3. Html的maxlength属性

    maxlength表示文本框只能输入的字符串,多的无法输入

  4. C++多线程技术windows常用方法

    随着计算机CPU计算能力快速提高,计算机的处理性能和并行性能力也大大提升.那么,一味使用运行时标准库的C++语言也应该开始支持多线程技术.今天,我为大家带来了C++在windows平台下的常用多线程方 ...

  5. Poj 3982 序列

    1.Link: http://poj.org/problem?id=3982 2.Content: 序列 Time Limit: 1000MS   Memory Limit: 65536K Total ...

  6. linux FTP 批量下载文件

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理.wget名称的由来是“World Wide Web”与“ge ...

  7. c#汉字转为拼音

    using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressi ...

  8. html5画图和本地存储

    <!DOCTYPE HTML><html><body> <canvas id="myCanvas" width="200&quo ...

  9. cwm-recovery自动生成工具

    android发展迅速,刷机已经成了一种习惯,cwm-recovery是必不可少的工具,下面我把自己用的自动生成cwm-recovery的工具发布出来,供友友们交流和学习,欢迎拍砖 已经公开发布在gi ...

  10. Failed to execute command: ""C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ResGen.exe" 的一个解决办法

    最近在做wpf项目,期间下了一些源码参考,但是在build时经常遇到下面这种bug: Error 2 Failed to execute command: ""C:\Program ...