题目电波: 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 (最短路)的更多相关文章

  1. POJ 1797 Heavy Transportation (最短路)

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

  2. POJ 1797 Heavy Transportation 最短路变形(dijkstra算法)

    题目:click here 题意: 有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量.分析: 其实这个求最大边可以 ...

  3. poj 1797 Heavy Transportation(最大生成树)

    poj 1797 Heavy Transportation Description Background Hugo Heavy is happy. After the breakdown of the ...

  4. POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径)

    POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径) Description Background Hugo ...

  5. POJ.1797 Heavy Transportation (Dijkstra变形)

    POJ.1797 Heavy Transportation (Dijkstra变形) 题意分析 给出n个点,m条边的城市网络,其中 x y d 代表由x到y(或由y到x)的公路所能承受的最大重量为d, ...

  6. POJ 1797 Heavy Transportation

    题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K T ...

  7. POJ 1797 Heavy Transportation SPFA变形

    原题链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K T ...

  8. POJ 1797 ——Heavy Transportation——————【最短路、Dijkstra、最短边最大化】

    Heavy Transportation Time Limit:3000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64 ...

  9. POJ 1797 Heavy Transportation(最大生成树/最短路变形)

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

  10. POJ 1797 Heavy Transportation (Dijkstra变形)

    F - Heavy Transportation Time Limit:3000MS     Memory Limit:30000KB     64bit IO Format:%I64d & ...

随机推荐

  1. python之路--MySQL数据库初识

    一 . MySQL安装 # 下载MySQL地址 https://dev.mysql.com/downloads # 要选稳定的,不要选最新的,稳定的就是半年以上没有出现过bug 现在5.6.43为绝大 ...

  2. 如何使用Action.Invoke()触发一个Storyboard

    一般在我们的项目中,最好是将Storyboard放在前台,然后设置Storyboard的x:key值,通过我们的TryFindResource来查找到当前的Storyboard来启动Stroyboar ...

  3. Java之指定Junit测试方法的执行顺序举例

    问题描述: 大家都知道使用JUnit进行测试的时候,方法的执行顺序不是按照编写的先后顺序执行的,那么如何控制Junit的执行顺序呢? 解决方法: 在测试类上加 @FixMethodOrder 注解即可 ...

  4. react 自我小计

    1.react中的方法调用,在onClick事件中不需要加小括号. <button onClick={this.show}>方法的调用</button> show(){ con ...

  5. JavaScript 使用 toJSON 方法格式化日期

    toJSON 方法可以将 Date 对象转换为 ISO-8601 标准的字符串:YYYY-MM-DDTHH:mm:ss. sssZ var date = new Date(); // toJSON() ...

  6. cuda编程-矩阵乘法(2)

    采用shared memory加速 代码 #include <stdio.h> #include <stdlib.h> #include <math.h> #inc ...

  7. codevs3044

    codevs3044 题面 大意:给出n个矩形求覆盖的总面积 看了hzwer的blog 似懂非懂 链接 可能还要多练点吧qaq #include <bits/stdc++.h> using ...

  8. 微信web开发者工具 移动调试

    1 下载 微信web开发者工具:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140 下载一个自己能用的版本: 2 ...

  9. Python中pandas模块解析

    Pandas基于两种数据类型: series 与 dataframe . 1.Series 一个series是一个一维的数据类型,其中每一个元素都有一个标签.类似于Numpy中元素带标签的数组.其中, ...

  10. Biorhythms POJ - 1006 中国剩余定理

    定理证明:https://blog.csdn.net/d_x_d/article/details/48466957 https://blog.csdn.net/lyy289065406/article ...