POJ--1797 Heavy Transportation (最短路)
题目电波: POJ--1797 Heavy Transportation
n点m条边, 求1到n最短边最大的路径的最短边长度
改进dijikstra,dist[i]数组保存源点到i点的最短边最大的路径的最短边长度
#include<iostream>
#include<cstring>
#include<algorithm>
#include<stdio.h>
using namespace std;
#define maxn 100010
#define inf 0x3f3f3f3f
struct ac{
int x,y;
ac(){}
ac(int a,int b){
x=a,y=b;
}
}a[maxn];
struct wa{
int to,va,nex;
}eg[maxn];
int dis[maxn],head[maxn];
bool fa[maxn];
int n,m,tot,len;
void init(){
memset(head,-,sizeof(head));
memset(eg,,sizeof(eg));
memset(fa,,sizeof(fa));
tot=,len=;
}
void add_eg(int u,int v,int va){
eg[tot].to=v;
eg[tot].va=va;
eg[tot].nex=head[u];
head[u]=tot++;
eg[tot].to=u;
eg[tot].va=va;
eg[tot].nex=head[v];
head[v]=tot++;
}
bool xxx(ac q,ac w){
;
;
}
void add(int v){
) return ;
])){
swap(a[v],a[v/]);
add(v/);
}
}
void updata(int v){
>len) return ;
==len){
],a[v])) swap(a[v],a[v*]);
return ;
}
])&&xxx(a[v],a[v*+])) return ;
],a[v*+])){
swap(a[v*],a[v]);
updata(v*);
}else{
swap(a[v*+],a[v]);
updata(v*+);
}
}
void dijstra(){
memset(dis,,sizeof(dis));
memset(fa,,sizeof(fa));
dis[]=inf;
a[++len]=ac(inf,);
while(len){
ac x=a[];
int u=x.y;
swap(a[],a[len--]),updata();
if(fa[u]) continue;
fa[u]=;
;j=eg[j].nex){
int v=eg[j].to;
int va=eg[j].va;
if(dis[v]<min(dis[u],va)){
dis[v]=min(dis[u],va);
a[++len]=ac(dis[v],v);
add(len);
}
}
}
}
int main(){
;
cin>>t;
while(t--){
cin>>n>>m;
init();
;j<m;j++){
int u,v,va;
scanf("%d%d%d",&u,&v,&va);
add_eg(u,v,va);
}
dijstra();
printf("Scenario #%d:\n%d\n\n",zz++,dis[n]);
}
}
POJ--1797 Heavy Transportation (最短路)的更多相关文章
- POJ 1797 Heavy Transportation (最短路)
Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 22440 Accepted: ...
- POJ 1797 Heavy Transportation 最短路变形(dijkstra算法)
题目:click here 题意: 有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量.分析: 其实这个求最大边可以 ...
- poj 1797 Heavy Transportation(最大生成树)
poj 1797 Heavy Transportation Description Background Hugo Heavy is happy. After the breakdown of the ...
- POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径)
POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径) Description Background Hugo ...
- POJ.1797 Heavy Transportation (Dijkstra变形)
POJ.1797 Heavy Transportation (Dijkstra变形) 题意分析 给出n个点,m条边的城市网络,其中 x y d 代表由x到y(或由y到x)的公路所能承受的最大重量为d, ...
- POJ 1797 Heavy Transportation
题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K T ...
- POJ 1797 Heavy Transportation SPFA变形
原题链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K T ...
- POJ 1797 ——Heavy Transportation——————【最短路、Dijkstra、最短边最大化】
Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64 ...
- POJ 1797 Heavy Transportation(最大生成树/最短路变形)
传送门 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 31882 Accept ...
- POJ 1797 Heavy Transportation (Dijkstra变形)
F - Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & ...
随机推荐
- linux 安装ssh以及ssh用法与免密登录
想要免费登录就是把本地机器的id_rsa_pub的内容放到远程服务器的authorized_keys里面 一.配置yum和hosts文件 配置hosts文件: 命令:vi /etc/hosts 在文件 ...
- PHP中对象的深拷贝与浅拷贝
先说一下深拷贝和浅拷贝通俗理解 深拷贝:赋值时值完全复制,完全的copy,对其中一个作出改变,不会影响另一个 浅拷贝:赋值时,引用赋值,相当于取了一个别名.对其中一个修改,会影响另一个 PHP中, = ...
- Lumen与laravel的区别
Lumen与laravel的区别 困惑 一直都无法很友好的理解Lumen与Laravel之间的区别,只知道他们是非常相似的两个php框架,使用方法什么的都差不多. 为什么要解惑 最近接手了公司的一 ...
- Oracle 创建外部表
Oracle 外部表能迅速的将海量的数据导入到数据库里面,外部表的创建使用步骤如下: 1 创建一个Directory:必须用sys用户创建,用户存放外部数据文件. create directory D ...
- 【知乎】WinForm 与 WPF的区别
你想上班 那么针对公司需求学如果只是自己写着玩 那么区分一下1.你的程序运行在 自己机器a.一个工具而已 要的是cooooooool 那么WPFb.一个工具而已 要的是useful easy 那么wi ...
- .Net批量插入数据
1. 一般我们普通数据插入是这样的: 现在我们写一个控制台程序用常规办法添加10000条数据. //以下是批量插入数据的办法 //连接字符串 string str = "Server=.;D ...
- (C/C++)区别:数组与指针,指针与引用
1.数组跟指针的区别 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建.数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变. 指针可以随时指向任意类型 ...
- Golang的Json encode/decode以及[]byte和string的转换
使用了太长时间的python,对于强类型的Golang适应起来稍微有点费力,不过操作一次之后发现,只有这么严格的类型规定,才能让数据尽量减少在传输和解析过程中的错误.我尝试使用Golang创建了一个公 ...
- 如何在mac下安装php
步骤如下: 1.下载php源码并解压 2.进入php源码并configure 3.安装openssl 4.sudo make及make test 5.sudo make install 具体命令如下: ...
- Eclipse:报错Failed to read artifact descriptor for org.springframework.boot:spring-boot-autoconfigure:jar:2.1.2.
导入SVN下载的MAVEN项目时springboot报错: pom.xml文件报错 Failed to read artifact descriptor for org.springframework ...