18448 最小生成树

### 思路
使用Kruskal算法求解图的最小生成树。Kruskal算法通过对所有边按权值排序,然后逐步选择最小权值的边,确保不会形成环,直到构建出最小生成树。
### 伪代码
1. 读取输入的结点数`n`和边数`m`。
2. 读取每条边的信息,存储在边列表中。
3. 对边列表按权值进行排序。
4. 初始化并查集。
5. 遍历排序后的边列表,逐步选择边并加入最小生成树,确保不会形成环。
6. 输出最小生成树的边权和。
### C++代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;struct Edge {int u, v;long long w;bool operator<(const Edge& other) const {return w < other.w;}
};vector<int> parent, rankVec;int find(int u) {if (parent[u] != u) {parent[u] = find(parent[u]);}return parent[u];
}void unionSets(int u, int v) {int rootU = find(u);int rootV = find(v);if (rootU != rootV) {if (rankVec[rootU] > rankVec[rootV]) {parent[rootV] = rootU;} else if (rankVec[rootU] < rankVec[rootV]) {parent[rootU] = rootV;} else {parent[rootV] = rootU;rankVec[rootU]++;}}
}int main() {int n, m;cin >> n >> m;vector<Edge> edges(m);for (int i = 0; i < m; ++i) {cin >> edges[i].u >> edges[i].v >> edges[i].w;}sort(edges.begin(), edges.end());parent.resize(n + 1);rankVec.resize(n + 1, 0);for (int i = 1; i <= n; ++i) {parent[i] = i;}long long mstWeight = 0;for (const auto& edge : edges) {if (find(edge.u) != find(edge.v)) {unionSets(edge.u, edge.v);mstWeight += edge.w;}}cout << mstWeight << endl;return 0;
}
### 总结
该代码使用Kruskal算法求解图的最小生成树。通过对边按权值排序,使用并查集管理连通性,逐步选择最小权值的边,确保不会形成环,最终输出最小生成树的边权和。
相关文章:
18448 最小生成树
### 思路 使用Kruskal算法求解图的最小生成树。Kruskal算法通过对所有边按权值排序,然后逐步选择最小权值的边,确保不会形成环,直到构建出最小生成树。 ### 伪代码 1. 读取输入的结点数n和边数m。 2. 读取每条边的信息,存储在边列…...
前端工程化 - Vue
环境准备 Vue-cli是Vue官方提供的一个脚手架,用户快速生成一个Vue的项目模板。 Vue-cli提供了如下功能: 统一的目录结构本地调试热部署单元测试集成打包上线 需要安装Node.js 安装Vue-cli npm install -g vue/cli通过vue --version指令查看是否安装成…...
使用 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力
通过 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力 文章目录 前言一、机密计算二、使用 NVIDIA H100 Tensor Core GPU 的 Azure 机密计算1. 安全功能2. 可扩展性和可编程性三、场景1. 模型机密性2. 推理/提示机密性3. 使用私有数据进行微调4. 多方培训结论前言 这是…...
目标检测与图像分类:有什么区别?各自的使用场景是什么?
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
Lua 数据类型
Lua 数据类型 Lua 是一种轻量级的编程语言,因其简单性和灵活性而广受欢迎。在 Lua 中,数据类型是编程的基础,它们决定了变量能够存储哪种类型的数据。Lua 的数据类型可以分为以下几个类别: 1. nil nil 是 Lua 中的一个特殊类型…...
复现文章:R语言复现文章画图
文章目录 介绍数据和代码图1图2图6附图2附图3附图4附图5附图6 介绍 文章提供画图代码和数据,本文记录 数据和代码 数据可从以下链接下载(画图所需要的所有数据): 百度云盘链接: https://pan.baidu.com/s/1peU1f8_TG2kUKXftkpYq…...
东方仙盟——软件终端架构思维———未来之窗行业应用跨平台架构
一、创生.前世今生 在当今的数字化时代,我们的服务覆盖全球,拥有数亿客户。然而,这庞大的用户规模也带来了巨大的挑战。安全问题至关重要,任何一处的漏洞都可能引发严重的数据泄露危机。网络带宽时刻面临考验,稍有不足…...
支持向量机(SVM)基础教程
一、引言 支持向量机(Support Vector Machine,简称SVM)是一种高效的监督学习算法,广泛应用 于分类和回归分析。SVM以其强大的泛化能力、简洁的数学形式和优秀的分类效果而备受机器学 习领域的青睐。 二、SVM基本原理 2.1 最大间…...
Python小示例——质地不均匀的硬币概率统计
在概率论和统计学中,随机事件的行为可以通过大量实验来研究。在日常生活中,我们经常用硬币进行抽样,比如抛硬币来决定某个结果。然而,当我们处理的是“质地不均匀”的硬币时,事情就变得复杂了。质地不均匀的硬币意味着…...
京东web 京东e卡绑定 第二部分分析
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…...
【数据结构与算法】Greedy Algorithm
1) 贪心例子 称之为贪心算法或贪婪算法,核心思想是 将寻找最优解的问题分为若干个步骤每一步骤都采用贪心原则,选取当前最优解因为没有考虑所有可能,局部最优的堆叠不一定让最终解最优 贪心算法是一种在每一步选择中都采取在当前状态下最好…...
Ubuntu22.04之mpv播放器高频快捷键(二百七十)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…...
新闻推荐系统:Spring Boot的可扩展性
6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…...
目录工具类 - C#小函数类推荐
此文记录的是目录工具类。 /***目录工具类Austin Liu 刘恒辉Project Manager and Software DesignerE-Mail: lzhdim163.comBlog: http://lzhdim.cnblogs.comDate: 2024-01-15 15:18:00***/namespace Lzhdim.LPF.Utility {using System.IO;/// <summary>/// The Objec…...
速盾:如何判断高防服务器的防御是否真实?
随着网络攻击日益增多和攻击手段的不断升级,保护网络安全变得越来越重要。高防服务器作为一种提供网络安全保护的解决方案,受到了越来越多的关注。然而,对于用户来说,如何判断高防服务器的防御是否真实,是否能够真正保…...
MySQL连接查询:联合查询
先看我的表结构 emp表 联合查询的关键字(union all, union) 联合查询 基本语法 select 字段列表 表A union all select 字段列表 表B 例子:将薪资低于5000的员工, 和 年龄大于50 岁的员工全部查询出来 第一种 select * fr…...
Gitea 数据迁移
一、从 Windows 迁移 Gitea 1. 备份 Gitea 数据 1.1 备份仓库文件 在 Windows 中,Gitea 仓库文件通常位于 C:\gitea\data\repositories。你可以使用压缩工具将该目录打包: 1.)右键点击 C:\gitea\data\repositories 目录,选择 “…...
MySQL 绪论
数据库相关概念 数据库(DB):存储数据的仓库数据库管理系统(DBMS):操纵和管理数据库的大型软件SQL:操纵关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准主流的关系型数…...
什么是 HTTP Get + Preflight 请求
当在 Chrome 开发者工具的 Network 面板中看到 GET Preflight 的 HTTP 请求方法时,意味着该请求涉及跨域资源共享 (CORS),并且该请求被预检了。理解这种请求的背景,主要在于 CORS 的工作机制和现代浏览器对安全性的管理。 下面是在 Chrome …...
(JAVA)开始熟悉 “二叉树” 的数据结构
1. 二叉树入门 符号表的增删查改操作,随着元素个数N的增多,其耗时也是线性增多的。时间复杂度都是O(n),为了提高运算效率,下面将学习 树 这种数据结构 1.1 树的基本定义 树是我们计算机中非常重要的一种数据结构…...
从纹波和EMI出发:实战分析DC-DC降压电路中PWM与PFM的取舍与优化技巧
从纹波和EMI出发:实战分析DC-DC降压电路中PWM与PFM的取舍与优化技巧 在射频模块或高精度ADC供电设计中,电源的纯净度直接决定系统性能上限。当输出电压纹波超出ADC的LSB范围,或EMI噪声耦合到敏感信号链时,工程师往往需要重新审视D…...
3步解锁鸣潮120帧:你的终极游戏体验优化指南
3步解锁鸣潮120帧:你的终极游戏体验优化指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为《鸣潮》游戏中的60帧限制而烦恼吗?明明拥有强大的硬件配置,却无法充…...
高效浏览器视频嗅探工具:猫抓扩展完整使用指南
高效浏览器视频嗅探工具:猫抓扩展完整使用指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓(Cat-Catch)…...
Kubernetes配置管理实战:基于Kustomize的结构化部署与多环境管理
1. 项目概述:一个被低估的Kubernetes配置管理利器如果你和我一样,长期在Kubernetes生态里摸爬滚打,那你一定经历过这样的场景:为了部署一个稍微复杂点的应用,需要维护一堆YAML文件——Deployment、Service、ConfigMap、…...
如何3分钟搭建智能手机号定位系统:免费归属地查询终极指南
如何3分钟搭建智能手机号定位系统:免费归属地查询终极指南 【免费下载链接】location-to-phone-number This a project to search a location of a specified phone number, and locate the map to the phone number location. 项目地址: https://gitcode.com/gh_…...
符号链接批量管理工具 linko:声明式配置与自动化实践
1. 项目概述与核心价值最近在折腾一些自动化脚本和工具链,发现一个挺有意思的仓库:monsterxx03/linko。乍一看这个名字,你可能会有点懵,这到底是干嘛的?是链接管理工具,还是某种网络代理的客户端࿱…...
紧急更新!Midjourney 6.2.1已悄然修复碳素印相的硫化银衰减模拟缺陷——但97%用户仍在用旧参数,立即校准你的工作流
更多请点击: https://intelliparadigm.com 第一章:碳素印相的视觉本质与Midjourney 6.2.1修复的底层动因 碳素印相的物质性光感逻辑 碳素印相并非数字渲染的模拟,而是一种基于明胶-碳黑颗粒物理沉积的连续调成像工艺。其高密度阴影区呈现哑…...
U-Boot实战:FAT文件系统五大核心命令详解与应用
1. U-Boot与FAT文件系统基础认知 刚接触嵌入式开发时,我第一次在U-Boot环境下操作FAT文件系统就踩了个大坑——试图用ext4write命令操作FAT32格式的SD卡,结果系统直接报错"Unknown command"。这个经历让我深刻认识到:U-Boot对文件系…...
AI量化交易实战:从机器学习模型到加密货币对冲基金系统构建
1. 项目概述:一个面向加密货币的AI对冲基金框架最近几年,AI在量化交易领域的应用已经从实验室走向了实战,尤其是在波动性极高的加密货币市场。如果你对量化交易和机器学习感兴趣,并且想找一个能直接上手、结构清晰的实战项目来学习…...
别再只会Commit了!用Git Desktop搞定分支合并与冲突解决(附真实开发场景)
别再只会Commit了!用Git Desktop搞定分支合并与冲突解决(附真实开发场景) 当你第一次接触Git时,可能觉得它就是个"保存按钮"——每次改完代码就commit一下。但随着项目规模扩大,特别是多人协作时,…...
