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. 6.python

    最早的'密码本' ascii 涵盖了英文字母大小写,特殊字符,数字.01010101ascii 只能表示256种可能,太少,创办了万国码 unicode 16表示一个字符不行,32位表示一个字符. A ...

  2. getpwuid和getpwnam的用法

    如果知道一个用户的用户ID或者登录名,可以通过getpwuid或getpwnam函数获得用户的登录信息.函数原型为:         #include <pwd.h> #include & ...

  3. vue引用文件

    1)css引入在vue页面中<style scoped> @import url("../assets/css/home.css");</style>2)j ...

  4. jwt 登录

    /* eslint-disable */ 'use strict'; const Controller = require('egg').Controller; const jwt = require ...

  5. NOIP 2017 图书管理员

    题目描述 图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个 正整数. 每位借书的读者手中有一个需求码,这个需求码也是一个正整数.如果一本书的图 书编码恰好以读者的需求码结尾,那 ...

  6. emoji等表情符号存mysql的方法

    项目中需要存储用户信息(用户昵称有表情符号),自然就遇到了emoji等表情符号如何被mysql DB支持的问题 这里引用先行者博文:https://segmentfault.com/a/1190000 ...

  7. Java面试——HashCode的作用原理和实例解析

    ,也就是说,我们先通过 HashCode来判断两个类是否存放某个桶里,但这个桶里可能有很多类,那么我们就需要再通过 equals 在这个桶里找到我们要的类. 请看下面这个例子 : public cla ...

  8. appium之android_uiautomator定位

    前言 appium就是封装android的uiautomator这个框架来的,所以uiautomator的一些定位方法也可以用 text 1.通过text文本定位语法 new UiSelector() ...

  9. HDU 5016 Mart Master II

    Mart Master II Time Limit: 6000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ...

  10. iOS开发工具篇-AppStore统计工具

    苹果官方的iTunes Connect提供的销售数据统计功能比较弱,例如只能保存最近30天的详细销售数据,界面丑陋, 无法查看App的排名历史变化情况等. 早有一些公司提供了专门的解决方案或工具.这些 ...