题意:

求1到n路径上最大的最小值。

原因:样例输入

1

3 3

1 2 3

1 3 4

2 3 5

1-2最多可以运输3,2-3可最多以运输5,但是2的来源只有3,所以路径1-2-3上能运输的量为3

1-3可以运输4,所以结果就是4。

可以很明显的看出一条路径上能够运输的最大值与该路径上最小的边相等,所以只需求出最大的最小值即可。

最大生成树一定是一棵瓶颈树,由瓶颈树的性质可知,最小边一定最大。

按权值从大到小排序,跑一遍Kruskal求最大生成树记录最小值,当1与n联通时,即利用并查集判断find(1)==find(n)时返回此时最小值即可。

注意输出格式,每一个例子后都有一个空行(包括最后一个例子)。

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std; const int maxn = + ;
const int inf = 0x3f3f3f3f;
int n, m, t, pre[maxn];
struct edge{
int u, v, w;
bool operator < ( const edge &a )const{
return w>a.w;
}
} ed[maxn*maxn];
inline int find( int x ){
return pre[x]==x ? x:pre[x] = find(pre[x]);
} inline int min( int a, int b ){
return a<b ?a:b;
} inline int kru(){
sort( ed, ed+m );
int res = inf;
for( int i=; i<m; i++ ){
int fx = find(ed[i].u);
int fy = find(ed[i].v);
if( fx!=fy ){
pre[fx] = fy;
res = min( res, ed[i].w );
if( find()==find(n) ) break;  //此处其实不用求min 只需当find(i)==find(n)时让res = ed[i].w 然后break即可
}
}
return res;
} int main(){
scanf("%d", &t);
for( int k=; k<=t; k++ ){
scanf("%d%d", &n, &m);
for( int i=; i<=n; i++ ) pre[i] = i;
for( int i=; i<m; i++ )
scanf("%d%d%d",&ed[i].u, &ed[i].v, &ed[i].w);
int ans = kru();
printf("Scenario #%d:\n", k);
printf("%d\n\n", ans);
} return ;
}

POJ 1797 Heavy Transportation(Kruskal灵活使用)(瓶颈树)的更多相关文章

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

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

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

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

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

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

  4. POJ 1797 Heavy Transportation

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

  5. POJ 1797 Heavy Transportation SPFA变形

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

  6. POJ 1797 Heavy Transportation (Dijkstra变形)

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

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

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

  8. POJ 1797 Heavy Transportation (最大生成树)

    题目链接:POJ 1797 Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter pro ...

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

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

随机推荐

  1. Spring Boot JDBC:加载DataSource过程的源码分析及yml中DataSource的配置

    装载至:https://www.cnblogs.com/storml/p/8611388.html Spring Boot实现了自动加载DataSource及相关配置.当然,使用时加上@EnableA ...

  2. [Go] 数据类型,变量与变量作用域,常量

    // var.gopackage main import ( "fmt" ) func main() { // 声明变量的一般形式是使用 var 关键字,可以一次声明多个变量 // ...

  3. 恋恋山城 Jean de Florette (1986) 男人的野心 / 弗洛莱特的若望 / 让·德·弗罗莱特 / 水源 下一部 甘泉,玛侬

    <让·德·弗洛莱特>电影剧本 文/[法]马赛尔·巴涅尔译/苏原 编者按:<让·德·弗洛莱特>和<甘泉,玛侬>是根据法国著名作家马赛尔·巴涅尔的同名小说改编的电影.马 ...

  4. PAT 1093

    The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the 4th, and ...

  5. composer安装FOSUserBundle内存溢出

    内存溢出异常: Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 4096 bytes ...

  6. c#学习笔记1-简单算法

    using System; namespace Demo { class Studycs { public static void Main(String[] args) { // String re ...

  7. SAS学习笔记1

    数据采样 简单随机抽样,从sashelp数据集中air数据文件中选取30个数 数据探索 数字特征的探索:均值.频数.最大值.最小值.众数.中位数.方差.标准差 数字分布的探索:是否服从正态分布 连续型 ...

  8. JVM与并发

    1.jvm内存模型 硬件内存模型 处理器-->高速缓存-->缓存一致性协议-->主存 java内存模型 线程<-->工作内存<-->save和load < ...

  9. drf中的各种view,viewset

    drf中的各种view,viewset Django REST framework里有各种各样的view,让我有点蒙,得好好捋一捋这关系. 视图的作用 Django用"视图"这个概 ...

  10. selenium中的元素操作之下拉列表操作(四)

    下拉列表操作中分为两种:select.非select 1.非select的下拉框操作 非select下拉列表操作与网页元素操作一致,找到元素,定位元素,设置等待,点击元素等等 接下来操作百度的设置按钮 ...