当前位置: 首页 > news >正文

P1396 营救

luogu

解法:Kruskal最小生成树;
在构建最小生成树时,如果 s 与 t 在一个集合里时,当前边就是答案(因为便是按照升序排的)

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
#include<vector>
using namespace std;
struct H{
    int x,y;
    int cost;
}a[20009];
int f[20009];
int find(int x)
{
    if(f[x]==x) return x;
    return f[x]=find(f[x]);
}
int s,t,n,m,ans;
int my_comp(const H&a,const H&b)
{
    if(a.cost<b.cost) return 1;
    return 0;
}
int main()
{
    scanf("%d%d%d%d",&n,&m,&s,&t);
    for(int i=1;i<=m;i++)
    {
        int x,y,z;
        scanf("%d%d%d",&x,&y,&z);
        a[i].x=x,a[i].y=y,a[i].cost=z;
    }   
    for(int i=1;i<=n;i++) f[i]=i;
    sort(a+1,a+m+1,my_comp);

    for(int p=1;p<=m;p++)
    {
        int c=find(a[p].x),b=find(a[p].y);
        f[c]=b;  
        if(find(s)==find(t)) 
        {
            ans=a[p].cost;
            break;  
        }
    }

    printf("%d",ans);
    return 0;
} 

转载于:https://www.cnblogs.com/dfsac/p/6819755.html

相关文章:

  • 使用Gradle第一次构建Java程序
  • 深入认识CSS的行内元素
  • PHP Smarty template for website
  • 网络中数据传输过程的分析
  • BIO、NIO和AIO的区别(简明版)
  • JavaScript-基础入门.0008.JavaScript作用范围
  • 《微信公众平台开发》图书介绍
  • PE分析
  • 判断用户名是否正确
  • loadrunner中Windows Resource没有数据或不可用
  • vue-todolist-example学习
  • javaScript事件(八)事件类型之变动事件
  • 白话机器学习
  • JavaScript的异步运行机制
  • 嵌入式软件设计第7次实验报告
  • 2017 年终总结 —— 在路上
  • Electron入门介绍
  • express如何解决request entity too large问题
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Java 最常见的 200+ 面试题:面试必备
  • JSONP原理
  • Linux中的硬链接与软链接
  • Mac转Windows的拯救指南
  • QQ浏览器x5内核的兼容性问题
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • RxJS: 简单入门
  • 离散点最小(凸)包围边界查找
  • 什么是Javascript函数节流?
  • 学习Vue.js的五个小例子
  • 译米田引理
  • Java数据解析之JSON
  • 回归生活:清理微信公众号
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • $jQuery 重写Alert样式方法
  • (k8s中)docker netty OOM问题记录
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (剑指Offer)面试题34:丑数
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十)T检验-第一部分
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .gitignore文件---让git自动忽略指定文件
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .Net中的集合
  • @软考考生,这份软考高分攻略你须知道
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件
  • [jQuery]使用jQuery.Validate进行客户端验证(中级篇-上)——不使用微软验证控件的理由...
  • [LeetCode] 626. 换座位
  • [leetcode] Multiply Strings
  • [MySQL] 二进制文件
  • [NEWS] J2SE5.0来了