poj 1797 ——Heavy Transportation

思路:

这道题我们可以采用类似于求最短路径的方法,用一种新的“松弛操作”去取代原本的方法。
我们可以记录d[u]为运送货物到点j时最大可载重量。那么对于一条边(x,y),我们有d[y]=max(d[y],min(d[x],v(x,y))).
因此,我们可以直接仿照spfa/dijkstra算法求最短路径的方法解决这道题目。
这道题实际上也是可以通过最小生成树方法解决,不过这里需要求的是最大生成树。
我们可以得出对于所求的路径,实际上就是最大生成树中两点的路径。
但这里我们只来说一下用最短路的方法。
代码:

#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <cmath>
#include <vector>
#include <cstdlib>  

using namespace std;
;
int n,m;
];
];
][];  

int dij()
{
    memset(vis,false,sizeof(vis));
    ;i<=n;i++)
     dis[i]=map[][i];
    vis[]=true;
    ;i<=n;i++)
    {
        ;
        ;j<=n;j++)
        if(!vis[j]&&dis[j]>m)
          m=dis[x=j];
        vis[x]=true;
        ) break;
        ;j<=n;j++)
          if(!vis[j]&&dis[j]<min(dis[x],map[x][j]))
            dis[j]=min(dis[x],map[x][j]);
    }
    return dis[n];
}
int main()
{
    ;
    scanf("%d",&t);
    while(t--)
    {
        c++;
        scanf("%d%d",&n,&m);
        memset(map,,sizeof(map));
        while(m--)
        {
            scanf("%d%d%d",&u,&v,&l);
            map[u][v]=map[v][u]=l;
        }
        printf("Scenario #%d:\n",c);
        printf("%d\n",dij());
        if(t)
        printf("\n");
    }
    ;
}  

Heavy Transportation(最短路)的更多相关文章

  1. POJ 1797 Heavy Transportation (最短路)

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

  2. POJ--1797 Heavy Transportation (最短路)

    题目电波: POJ--1797 Heavy Transportation n点m条边, 求1到n最短边最大的路径的最短边长度 改进dijikstra,dist[i]数组保存源点到i点的最短边最大的路径 ...

  3. POJ1797 Heavy Transportation —— 最短路变形

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

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

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

  5. Heavy Transportation(最短路 + dp)

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

  6. Heavy Transportation POJ 1797 最短路变形

    Heavy Transportation POJ 1797 最短路变形 题意 原题链接 题意大体就是说在一个地图上,有n个城市,编号从1 2 3 ... n,m条路,每条路都有相应的承重能力,然后让你 ...

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

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

  8. (最短路) Heavy Transportation --POJ--1797

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

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

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

随机推荐

  1. Bootstrap响应式布局(1)

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  2. shell脚本,计算输入给定的数,判断最大值,最小值,总和?

    [root@localhost ~]# cat five.sh #!/bin/bash #任意输入5个数,判断最大值,最小值,总和 s= read -p "please input:&quo ...

  3. DFS输出全排列

    前言 输入n(1 <= n <= 20),按字典序输出所有1~n的排列.如果排列数量太多,则只需要输出前100个 输入样例 3 输出样例 1 2 3 1 3 2 2 1 3 2 3 1 3 ...

  4. C#图形学习笔记

    绘图常用控件.类和结构 颜色 使用System.Drawing.Color结构表示 设置颜色的方法 调用静态函数:Color.FromArgb() public static Color FromAr ...

  5. 如何用纯 CSS 创作一个菱形 loader 动画

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/eKzjqK 可交互视频教 ...

  6. 模块导入及使用,关键字,模块搜索路径,python文件的两种用途

    06.05自我总结 一.模块导入及使用 1.模块导入的两种方式 我们拿time模块并使用其中的time功能进行举例 a)第一种 import time print(time.time) import首 ...

  7. 排序算法C语言实现——快速排序的递归和非递归实现

    /*快排 -  递归实现nlogn*//*原理:    快速排序(Quicksort)是对冒泡排序的一种改进.    快速排序由C. A. R. Hoare在1962年提出.它的基本思想是:通过一趟排 ...

  8. 通过 PC 远程控制 Android 的应用 -- 可以将手机屏幕投射显示到电脑上

    测试结果中的部分测试图:Mobizen手机界面: 电脑界面: 主界面 视频 全屏视频 WebKey手机界面: 电脑界面: AirMore手机界面: 电脑界面:主界面 镜像 全屏镜像 Airdroid手 ...

  9. luogu3980 [NOI2008]志愿者招募

    神题,还不太清楚 #include <iostream> #include <cstring> #include <cstdio> #include <que ...

  10. linux下ln命令

    转自:http://www.cnblogs.com/peida/archive/2012/12/11/2812294.html ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位 ...