P1396 营救(最小生成树)(内附封面)

news2024/10/6 16:18:59

营救

题目背景

“咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动得热泪盈眶,开起了门……

题目描述

妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的经验告诉她小明被带到了 t t t 区,而自己在 s s s 区。

该市有 m m m 条大道连接 n n n 个区,一条大道将两个区相连接,每个大道有一个拥挤度。小明的妈妈虽然很着急,但是不愿意拥挤的人潮冲乱了她优雅的步伐。所以请你帮她规划一条从 s s s t t t 的路线,使得经过道路的拥挤度最大值最小。

输入格式

第一行有四个用空格隔开的 n n n m m m s s s t t t,其含义见【题目描述】。

接下来 m m m 行,每行三个整数 u , v , w u, v, w u,v,w,表示有一条大道连接区 u u u 和区 v v v,且拥挤度为 w w w

两个区之间可能存在多条大道

输出格式

输出一行一个整数,代表最大的拥挤度。

样例 #1

样例输入 #1

3 3 1 3
1 2 2
2 3 1
1 3 3

样例输出 #1

2

提示

数据规模与约定

  • 对于 30 % 30\% 30% 的数据,保证 n ≤ 10 n\leq 10 n10
  • 对于 60 % 60\% 60% 的数据,保证 n ≤ 100 n\leq 100 n100
  • 对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 1 0 4 1 \leq n\leq 10^4 1n104 1 ≤ m ≤ 2 × 1 0 4 1 \leq m \leq 2 \times 10^4 1m2×104 w ≤ 1 0 4 w \leq 10^4 w104 1 ≤ s , t ≤ n 1 \leq s, t \leq n 1s,tn。且从 s s s 出发一定能到达 t t t 区。

样例输入输出 1 解释

小明的妈妈要从 1 1 1 号点去 3 3 3 号点,最优路线为 1 1 1-> 2 2 2-> 3 3 3

大致思路

最小生成树问题
题目中要求求出从 s 到 t 拥挤度最大值最小(乍一看很二分,事实上二分也可以做)

然而最小生成树也可以实现。

我们正常跑 k r u s k a l kruskal kruskal ,当 s 与 t 第一次连通时即求出了答案。

在找最小边的同时,对ans进行更新,找到加入边权中的最小值即可

AC CODE

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+99;
int n,m,s,t,fa[N];
struct node{
	int u,v,w;
}a[N];
int totans=-0x3f3f3f3f;
int find(int x){
	if(fa[x]==x)return x;
	return fa[x]=find(fa[x]);
}
void merge(int u,int v){
	fa[find(u)]=find(v);
}
bool cmp(node a,node b){
	return a.w<b.w;
}
void kruskal(){
	for(int i=1;i<=n;i++){
		fa[i]=i;
	}
	sort(a+1,a+1+m,cmp);
	for(int i=1;i<=m;i++){
		if(find(a[i].u)!=find(a[i].v)){
			//totans+=a[i].w;
			merge(a[i].u,a[i].v);
			totans=max(totans,a[i].w);
			
		}
		if(find(s)==find(t)){
			cout<<totans;
			break;
		}
	}
}
int main(){
	cin>>n>>m>>s>>t;
	for(int i=1;i<=m;i++){
		cin>>a[i].u>>a[i].v>>a[i].w;
	}
	kruskal();
	return 0;
}

附封面(铃芽之旅 铃芽户缔)

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/842543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2. Linux安装Git

yum安装 查看版本 版本太低&#xff0c;所以我们采用自己上传编译的方式进行 删除已安装的git yum remove git 下载最新安装包&#xff0c;并上传到服务器文件夹下 上传&#xff0c;解压 5.安装编译需要的依赖 yum install curl-devel expat-devel gettext-devel openssl-…

【Leetcode】无重复字符的最长字串||带输出测试(滑动窗口+HashMap)

step by step. 题目 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。示例 2: 输入: s "bbbbb" 输出…

UE4 Cesium for unreal 离线加载应用全流程

参考配置&#xff1a;Win10、请保证是在局域网环境下配置 配置IP 右键选择&#xff1a;打开“网络和Internet” 设置 选择更改适配器选项 请保证以太网是处于启用状态并连接线缆&#xff0c;点击右键选择属性 双击选择Internet协议版本4&#xff08;TCP/IPv4&#xff09; 将IP地…

Git从远程仓库中删除文件,并上传新文件

目录 删除&#xff1a; 拉取远程分支的更新&#xff1a; ​编辑 首先查看git状态&#xff1a; ​编辑 删除文件并提交版本库&#xff1a; 提交&#xff1a; 上传新文件&#xff1a; 首先查看git状态&#xff1a; 提交到暂存区&#xff1a; 提交到版本库&#xff1a; 上…

028 - having函数

-- SQL Server中的聚合函数有&#xff1a;聚合数据&#xff08;group by&#xff09;后面不能跟过滤条件where 1.count() 所有记录du数 2.count(*)所有非null记录数 3.avg() 某一列平均值 4.min() 某一列最小值 5.max() 某一列最大值 6.sum() 某一列总和 -- 聚合数据&#xf…

人大金仓数据库Docker部署

docker 搭建 yum -y install yum-utilsyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposystemctl start docker.servicesystemctl enable docker.servicesystemctl status docker.service 配置Docker cd /etc/docker/ vi da…

如何安全变更亚马逊收款账户?

有太多的卖家想知道如何安全变更亚马逊收款账户&#xff0c;因为更改了第三方收款账户可能会导致二次视频认证或者增强视频。真的是这样吗&#xff1f; 其实不推荐亚马逊店铺正常运营之后去变更信用卡&#xff0c;收款账户等重要资料的&#xff0c;因为玩黑科技的卖家也真的多…

嵌入式开发学习(STC51-18-LCD液晶显示)

内容 在LCD1602液晶上显示字符信息&#xff1b; LCD1602介绍 简介 1602液晶也叫1602字符型液晶&#xff0c;它能显示2行字符信息&#xff0c;每行又能显示16个字符&#xff1b; 它是一种专门用来显示字母、数字、符号的点阵型液晶模块&#xff1b; 它是由若干个5x7或者5x…

PEMFC氢氧质子交换燃料电池MATLAB仿真模型

氢氧燃料电池静态模型&#xff1a; &#xff08;1&#xff09;热力学电动势En &#xff08;2&#xff09;活化极化过电势Vact 活化损失主要是因为电极表面的反应速度过慢&#xff0c;在驱动电子传递到或者传送出电极的化学反应时&#xff0c;部分电压会被消耗。 &#xff08;…

机器学习——SMO算法推导与实践

一、 硬间隔-SMO算法推导 明天再说&#xff0c;啊。。。。感觉天空明朗了很多&#xff0c;即使现在已经很晚了 还是要打开柯南&#xff0c;看看电视&#xff0c;等待天气预报所说的台风天吧&#xff01; 一时之间&#xff0c;忽然失去了用markdown语法写下推导过程的勇气。。。…

干货:电视盒子什么牌子好?数码博主盘点电视盒子排名

电视盒子是我们观影不可缺少的装备之一&#xff0c;但面对众多的电视盒子产品&#xff0c;大家在选购时会疑惑电视盒子什么牌子好&#xff0c;我作为数码测评博主&#xff0c;本期要分享的主题是电视盒子&#xff0c;通过对比今年测评过的26款热门电视盒子&#xff0c;我整理了…

Tkinter的超强主题扩展-ttkbootstrap

1、前言 在上一篇文章 将Python脚本集成到GUI工具包-Tkinter 里&#xff0c;作者介绍了 Tkinter&#xff0c;并开发了测试参数组合生成器小工具&#xff0c;虽然功能上已经满足了所要的需求&#xff0c;但是页面展示方面很不美观&#xff0c;需要改进一下。 本篇将介绍一款 T…

使用罗技鼠标后 弹出当前页面的脚本发生错误AppData/Local/Temp/LogiUI/Pak/js/jquery-1.3.2.min.js解决

使用的台式机&#xff0c;没有蓝牙驱动&#xff0c;在用logi无线鼠标时&#xff0c;把鼠标连接插入台式机后弹出的如上图所示这个提示&#xff0c;无论是点是/否&#xff0c;还是X掉上图提示&#xff0c;电脑右下角的图依然存在。不习惯这丫的存在。 我重启还是有&#xff0c;然…

1. Git基础知识

文章目录 Git基础知识一、集中式与分布式二、中心服务器三、工作流四、分支实现五、冲突六、Fast forward七、储藏&#xff08;Stashing&#xff09;八、SSH 传输设置九、.gitignore 文件十、Git 命令一览十一、和远端仓库交互 Git基础知识 一、集中式与分布式 Git 属于分布式…

服务蓝图:提升和改善服务系统的工具

服务蓝图&#xff1a;提升和改善服务系统的工具 Service Blueprint 翻译成服务提供计划比较恰当 趣讲大白话&#xff1a;精细耕耘&#xff0c;才有好体验 【趣讲信息科技249期】 **************************** 西方擅长的是工具和方法 把一件事情透过工具和方法做到人人能懂 日…

Day 74:通用BP神经网络 (1. 集中管理激活函数)

代码&#xff1a; package dl;/*** Activator.*/public class Activator {/*** Arc tan.*/public final char ARC_TAN a;/*** Elu.*/public final char ELU e;/*** Gelu.*/public final char GELU g;/*** Hard logistic.*/public final char HARD_LOGISTIC h;/*** Identit…

web集群学习:源码安装nginx配置启动服务脚本、IP、端口、域名的虚拟主机

目录 1、源码安装nginx&#xff0c;并提供服务脚本。 2、配置基于ip地址的虚拟主机 3、配置基于端口的虚拟主机 4、配置基于域名的虚拟主机 1、源码安装nginx&#xff0c;并提供服务脚本。 1、源码安装会有一些软件依赖 &#xff08;1&#xff09;检查并安装 Nginx 基础依赖…

探索远程访问内网群晖NAS 6.X(使用独立域名)【内网穿透】

使用自己的域名远程访问内网群晖NAS 6.X【内网穿透】 文章目录 使用自己的域名远程访问内网群晖NAS 6.X【内网穿透】 在之前的文章中&#xff0c;我们向大家演示了如何使用cpolar&#xff0c;创建一条固定的、能够在公共互联网登录内网群晖NAS的数据隧道。这条隧道已经能够应对…

新能源汽车交流充电桩控制主板的功能维度

新能源汽车交流充电桩控制主板的功能维度 交流充电桩主板是电动汽车充电站的关键组件&#xff0c;它负责控制充电过程&#xff0c;保护设备和电网免受电动汽车充电的冲击。它具有控制、保护、检测、报警和记录等功能&#xff0c;可以有效地控制充电过程&#xff0c;保证交流充电…

防火墙第五次作业

1. 什么是恶意软件&#xff1f; 恶意软件官方的一个定义&#xff1a;恶意软件 (Malware) 从“恶意”(malicious) 和“软件”(software) 这两个词合并而来&#xff0c;是一个通用术语&#xff0c;可以指代病毒、蠕虫、特洛伊木马、勒索软件、间谍软件、广告软件和其他类型的有害…