POJ 1797 Heavy Transportation(Dijkstra)
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)的更多相关文章
- POJ 1797 Heavy Transportation (Dijkstra变形)
F - Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & ...
- POJ 1797 Heavy Transportation (dijkstra 最小边最大)
Heavy Transportation 题目链接: http://acm.hust.edu.cn/vjudge/contest/66569#problem/A Description Backgro ...
- POJ 1797 Heavy Transportation(Dijkstra变形——最长路径最小权值)
题目链接: http://poj.org/problem?id=1797 Background Hugo Heavy is happy. After the breakdown of the Carg ...
- POJ 1797 Heavy Transportation(Dijkstra运用)
Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can no ...
- poj 1797 Heavy Transportation(最大生成树)
poj 1797 Heavy Transportation Description Background Hugo Heavy is happy. After the breakdown of the ...
- POJ 1797 Heavy Transportation(最大生成树/最短路变形)
传送门 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 31882 Accept ...
- poj 1797 Heavy Transportation(最短路径Dijkdtra)
Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 26968 Accepted: ...
- POJ 1979 Heavy Transportation (kruskal)
Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K Total Submissions:46898 Accepted: 1 ...
- POJ 1797 Heavy Transportation(最短路&Dijkstra变体)题解
题意:给你所有道路的载重,找出从1走到n的所有路径中载重最大的,即路径最小值的最大值. 思路:和之前的POJ3268很像.我们用Dijkstra,在每次查找时,我们把最大的先拿出来,因为最大的不影响最 ...
随机推荐
- ###《VIM实用技巧》
###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...
- 选用 get 与 post 的一些建议
1.http的请求方法:get post 2. get:会把请求的内容 放到链接地址里面(数据请求的时候 默认的是get请求) 例:www.baidu.com/user/login?userna ...
- Html的maxlength属性
maxlength表示文本框只能输入的字符串,多的无法输入
- C++多线程技术windows常用方法
随着计算机CPU计算能力快速提高,计算机的处理性能和并行性能力也大大提升.那么,一味使用运行时标准库的C++语言也应该开始支持多线程技术.今天,我为大家带来了C++在windows平台下的常用多线程方 ...
- Poj 3982 序列
1.Link: http://poj.org/problem?id=3982 2.Content: 序列 Time Limit: 1000MS Memory Limit: 65536K Total ...
- linux FTP 批量下载文件
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理.wget名称的由来是“World Wide Web”与“ge ...
- c#汉字转为拼音
using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressi ...
- html5画图和本地存储
<!DOCTYPE HTML><html><body> <canvas id="myCanvas" width="200&quo ...
- cwm-recovery自动生成工具
android发展迅速,刷机已经成了一种习惯,cwm-recovery是必不可少的工具,下面我把自己用的自动生成cwm-recovery的工具发布出来,供友友们交流和学习,欢迎拍砖 已经公开发布在gi ...
- 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 ...