POJ-1797(最短路变形-dijkstra)
Heavy Transportation
POJ-1797
- 这题是最短路题型的变形,该题不是求起点到终点的最短路,而是求路径中的最小边的最大值。
- 这题的求解思路是:将原来dijkstra中的松弛方程改一下,改成求最小边的最大值的松弛方程:d[j]=max(d[j],min(d[i],w[i][j]))。
#include <algorithm>
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstring>
#define INF 0x3f3f3f3f
#define MOD 1e9+7
using namespace std;
int e[1005][1005];
int dis[1005];
bool vis[1005];
int main()
{
int T,n,m,ca=0;
cin>>T;
while(T--)
{
scanf("%d%d",&n,&m);
memset(e,0,sizeof(e));
int a,b,w;
for(int i=0;i<m;i++)
{
scanf("%d%d%d",&a,&b,&w);
e[a][b]=e[b][a]=w;
}
dis[1]=INF;
for(int i=2;i<=n;i++)
dis[i]=e[1][i];
memset(vis,false,sizeof(vis));
for(int k=0;k<n;k++)
{
int mi,mm=-INF;
for(int i=1;i<=n;i++)
{
if(!vis[i]&&dis[i]>mm)
{
mm=dis[i];
mi=i;
}
}
vis[mi]=true;
for(int i=1;i<=n;i++)
{
if(!vis[i])
dis[i]=max(dis[i],min(dis[mi],e[mi][i]));
}
}
printf("Scenario #%d:\n%d\n\n",++ca,dis[n]);
}
return 0;
}
java:
package POJ;
import java.util.*;
public class POJ_1797 {
private static int n,m;//n:1-1000
static int t;//case
static int [][]w;
static int []dis;
static boolean []flag;
static final int INF=0X3F3F3F3F;
static int s,e;
static int dijkstra() {
for(int i=0;i<n;i++) {
int index=-1,mins=INF;
for(int j=0;j<n;j++) {
if(!flag[j]&&dis[j]>mins) {
mins=dis[index=j];
}
}
if(index==-1)
break;
flag[index]=true;
for(int j=0;j<n;j++) {
if(!flag[j])
dis[j]=Math.max(dis[j],Math.min(dis[index],w[index][j]));
}
}
return dis[e];
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin=new Scanner(System.in);
t=cin.nextInt();
int cnt=1;
while(t>0) {
n=cin.nextInt();
m=cin.nextInt();
w=new int[n][n];
dis=new int[n];
for(int i=0;i<m;i++) {
int from,to;
from=cin.nextInt();
to=cin.nextInt();
w[from-1][to-1]=w[to-1][from-1]=cin.nextInt();
}
s=0;e=n-1;
dis[s]=INF;
flag=new boolean[n];
for(int i=1;i<n;i++) {
dis[i]=w[0][i];
}
flag[s]=true;
System.out.println("Scenario #"+cnt+":");
System.out.println(dijkstra());
t--;
cnt++;
}
}
}
POJ-1797(最短路变形-dijkstra)的更多相关文章
- poj 1797 最短路变形dijkstra
题意:题目大意:有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量 链接:点我 解题思路:其实这个求最大边可以近似于 ...
- Heavy Transportation POJ 1797 最短路变形
Heavy Transportation POJ 1797 最短路变形 题意 原题链接 题意大体就是说在一个地图上,有n个城市,编号从1 2 3 ... n,m条路,每条路都有相应的承重能力,然后让你 ...
- poj 1797(最短路变形)
题目链接:http://poj.org/problem?id=1797 思路:题目意思很简单,n个顶点,m条路,每条路上都有最大载重限制,问1->n最大载重量.其实就是一最短路的变形,定义wei ...
- POJ 1797 最短路变形所有路径最小边的最大值
题意:卡车从路上经过,给出顶点 n , 边数 m,然后是a点到b点的权值w(a到b路段的承重),求卡车最重的重量是多少可以从上面经过. 思路:求所有路径中的最小的边的最大值.可以用迪杰斯特拉算法,只需 ...
- POJ 1797 Heavy Transportation (Dijkstra变形)
F - Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & ...
- 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)
http://poj.org/problem?id=1797 题意 :给出N个城市M条边,每条边都有容量值,求一条运输路线使城市1到N的运输量最大. 思路 :用dijkstra对松弛条件进行变形.解释 ...
- POJ 1797 Heavy Transportation (dijkstra 最小边最大)
Heavy Transportation 题目链接: http://acm.hust.edu.cn/vjudge/contest/66569#problem/A Description Backgro ...
- poj 3013 最短路变形
http://poj.org/problem?id=3013 给出n个点,m个边.给出每个点的权值,每个边的权值.在m条边中选n-1条边使这n个点成为一棵树,root=1,求这棵树的最小费用,费用=树 ...
随机推荐
- 【uva 11082】Matrix Decompressing(图论--网络流最大流 Dinic+拆点二分图匹配)
题意:有一个N行M列的正整数矩阵,输入N个前1~N行所有元素之和,以及M个前1~M列所有元素之和.要求找一个满足这些条件,并且矩阵中的元素都是1~20之间的正整数的矩阵.输入保证有解,而且1≤N,M≤ ...
- POJ 3281 Dining(最大流板子)
牛是很挑食的.每头牛都偏爱特定的食物和饮料,其他的就不吃了. 农夫约翰为他的牛做了美味的饭菜,但他忘了根据它们的喜好检查菜单.虽然他不可能喂饱所有的人,但他想让尽可能多的奶牛吃上一顿有食物和水的大餐. ...
- 使用docker时报错“net/http: TLS handshake timeout”
问题原因 :该命令默认从docker远端镜像仓库中拉取镜像,但由于远端仓库的服务器是在国外,我们国内有的用户很可能都访问不到 解决:使用国内镜像仓库 docker pull registry.dock ...
- Redis 持久化(Persistence)
作为内存数据库,Redis 依然提供了持久化机制,其主要目的有两个: 安全:保证进程崩溃后数据不会丢失 备份:方便数据迁移与快速恢复 Redis 同时提供两种持久化机制: RDB 快照:数据库在某个时 ...
- WOJ1022 Competition of Programming 贪心 WOJ1023 Division dp
title: WOJ1022 Competition of Programming 贪心 date: 2020-03-19 13:43:00 categories: acm tags: [acm,wo ...
- pillow KeyError: 'WEBP'
描述 使用pillow库jpg转到webp报错 File "F:\Anaconda\lib\site-packages\PIL\Image.py", line 1983, in s ...
- cs实时系统之网关设计
今天给大家讲一下client-server系统(cs)设计,基本结构 1.client 客户端,插件式开发,负责对应ui的展示 2.gateway 网关层,管理客户端通信连接,负载后端集群服务 3.s ...
- soft tab
soft tab hard-tabs 是硬件 tab,就是按一个 tab 键; soft-tabs 是软件 tab,通过按 4个 space 键实现; refs Tabs vs. Spaces, FR ...
- Apple Watch Series 6 屏幕误触放大后无法还原问题和解决方案
Apple Watch Series 6 屏幕误触放大后无法还原问题和解决方案 shit Apple,只能放大,不能缩小! 解决方案 关闭缩放功能 https://support.apple.com/ ...
- Bastion Host (BH)
Bastion Host (BH) 堡垒机 堡垒主机是专门设计和构造成承受攻击网络上的专用计算机. 该计算机通常承载单个应用程序,例如代理服务器,并且所有其他服务都将被删除或限制以减少对计算机的威胁. ...