POJ 1797 最短路变形所有路径最小边的最大值
题意:卡车从路上经过,给出顶点 n , 边数 m,然后是a点到b点的权值w(a到b路段的承重),求卡车最重的重量是多少可以从上面经过。
思路:求所有路径中的最小的边的最大值。可以用迪杰斯特拉算法,只需要将模板的路径更新那改一下,具体看代码注释。
注意:数组的初始化为-1或零m因为题意说的权值并不是距离,而是路的承重。
代码如下:
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
int e[1010][1010],inf=0x3f3f3f3f,n,dis[1010],book[1010];
void djstl(int x)
{
for(int i=1; i<=n; i++)
dis[i]=e[1][i];
memset(book,0,sizeof(book));
book[x]=1;
for(int i=1; i<=n-1; i++)
{
int maxx=-1,u;
for(int j=1; j<=n; j++)
{
if(dis[j]>maxx&&!book[j])
{
u=j;
maxx=dis[j];
}
}
book[u]=1;//找到最短的边
for(int v=1; v<=n; v++)
{
if(dis[v]<min(dis[u],e[u][v]))//每条路径最小的权值 最大的数值
dis[v]=min(dis[u],e[u][v]);//并不是一下子找到,可以分解成三个点的子图 不断优化
}
}
}
int main()
{
int m,t,z=1;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(int i=0; i<=1001; i++)
for(int j=0; j<=1001; j++)
if(i==j)
e[i][j]=0;
else
e[i][j]=-1;//初始化为-1,不通
int t1,t2,t3;
for(int i=0; i<m; i++)
{
scanf("%d%d%d",&t1,&t2,&t3);
if(e[t1][t2]<t3)//注意
e[t1][t2]=e[t2][t1]=t3;
}
djstl(1);
printf("Scenario #%d:\n",z++);
printf("%d\n\n",dis[n]);
}
return 0;
}
POJ 1797 最短路变形所有路径最小边的最大值的更多相关文章
- 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 最短路变形dijkstra
题意:题目大意:有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量 链接:点我 解题思路:其实这个求最大边可以近似于 ...
- poj1797(dijstra变形,求最小边的最大值)
题目链接:https://vjudge.net/problem/POJ-1797 题意:n个点,m条带权边,求点1到点n的所有路径中最小边的最大值. 思路: 和poj2253一样,只不过那题n< ...
- poj 3013 最短路变形
http://poj.org/problem?id=3013 给出n个点,m个边.给出每个点的权值,每个边的权值.在m条边中选n-1条边使这n个点成为一棵树,root=1,求这棵树的最小费用,费用=树 ...
- POJ 3013最短路变形....
DES:计算输的最小费用.如果不能构成树.输出-1.每条边的费用=所有的子节点权值*这条边的权值.计算第二组样例可以知道树的费用是所有的节点的权值*到根节点的最短路径的长度. 用dij的邻接矩阵形式直 ...
- POJ 2253 Frogger【最短路变形——路径上最小的最大权】
链接: http://poj.org/problem?id=2253 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- POJ 1797 Heavy Transportation(Dijkstra变形——最长路径最小权值)
题目链接: http://poj.org/problem?id=1797 Background Hugo Heavy is happy. After the breakdown of the Carg ...
- POJ 2253 Frogger ( 最短路变形 || 最小生成树 )
题意 : 给出二维平面上 N 个点,前两个点为起点和终点,问你从起点到终点的所有路径中拥有最短两点间距是多少. 分析 : ① 考虑最小生成树中 Kruskal 算法,在建树的过程中贪心的从最小的边一个 ...
随机推荐
- 无线城域网 WMAN
无线城域网 WMAN (Wireless Metropolitan Area Network) 1.1.概述 2002 年 4 月通过了 802.16 无线城域网的标准.欧洲的 ETSI 也制订类似的 ...
- JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林 (Standard IO)
5286. [NOIP2017提高A组模拟8.16]花花的森林 (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Descript ...
- 编程史话第四期-饱受争议的前端之王JavaScript的血泪成长史
写在前面 这篇博文主要介绍javaScript的发展史,根据作者在B站发布的同名视频的文案整理修改而成,对视频感兴趣的博友可访问https://www.bilibili.com/video/av945 ...
- Core + Vue 后台管理基础框架0——开篇
1.背景 最近,打算新开个项目,鉴于团队技术栈,选型.net core + vue,前后端分离.本打算捡现成的轮子的,github上大致逛了逛,总发现这样那样的不太适合心中那些“完美实践”,例如:Ab ...
- 一次生产环境搭建11g RAC的记录
一.使用惠普3par工具配置共享存储 该部分可由惠普工作人员协助配置,只需将需求告知即可.如果想自己配置,惠普厂商会发送相关的软件工具以及操作手册给用户. 用putty登陆共享存储,使用showpd ...
- 16 搭建Spring Data JPA的开发环境
使用Spring Data JPA,需要整合Spring与Spring Data JPA,并且需要提供JPA的服务提供者hibernate,所以需要导入spring相关坐标,hibernate坐标,数 ...
- Azure CLI 简单入门
Azure CLI 是什么 Azure 命令行接口 (CLI) 是用于管理 Azure 资源的 Microsoft 跨平台命令行体验. Azure CLI 易于学习,是构建适用于 Azure 资源的自 ...
- [python]回答百度知道上的问题2000-2999之间的回文日
因为百度知道的编辑器没有提供代码功能,将回复写入. 题目如下: 求2000到2999的所有回文日,例如20200202 用Python怎么做 回文年好求,回文日的话,年月日这咋存啊 思路一:遍历每一天 ...
- 使用ASP.NET MVC 5快速实现芒果分销后台管理系统(前言)
### 前言 在前一篇文章中,我提到最近要陆续为大家写一些.Net实战技术文章.从今天起,我将围绕一个入门级现实的芒果分销管理系统案例,使用ASP.NET MVC 5,从前端到后端,一步一步为大家呈现 ...
- 《深入理解 Java 虚拟机》读书笔记:早期(编译期)优化
正文 Java 语言的 3 类编译器: 前端编译器:把 java 文件 转变成 class 文件.例如:Sun 的 Javac. JIT 编译器(即时编译器):后端运行期编译器,把字节码转变成机器码. ...