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

代码随想录算法训练营第五十六天|prim算法、kruskal算法

题目链接53. 寻宝解题思路prim 算法具体思路首先读取节点数 v 和边数 e构建大小为 (v 1) * (v 1) 的邻接矩阵 graph初始值设为 10001 表示节点间无直接边适配权值不超过 10000 的场景输入 e 条无向边的两个端点 v1​v2 ​和权值 val将 graph[v1][v2] 和 graph[v2][v1] 均赋值为 val无向图双向存储边权初始化标记数组 intree 长度 v 1初始 false标记节点是否已加入最小生成树和距离数组 distance长度 v 1初始 10001记录每个节点到当前生成树的最小权值距离随后循环 v - 1次最小生成树含v个节点需添加v−1条边每次遍历所有节点找到未加入生成树且 distance 值最小的节点 cur将 cur 标记为已加入生成树再遍历所有节点若节点未加入生成树且 cur 到该节点的边权小于其当前 distance 值则更新 distance 为更小的边权循环结束后累加 distance 数组中 2 到 v 节点的权值最终输出该累加和即为最小生成树的总权值。具体代码#includeiostream #includevector #include climits using namespace std; int main () { int v; int e; cin v e; vectorvectorint graph(v 1, vectorint(v 1, 10001)); for (int i 0; i e; i) { int v1; int v2; int val; cin v1 v2 val; graph[v1][v2] val; graph[v2][v1] val; } vectorbool intree(v 1, false); vectorint distance(v 1, 10001); for (int i 1; i v; i) { int cur -1; int minval INT_MAX; for (int j 1; j v; j) { if (!intree[j] distance[j] minval) { minval distance[j]; cur j; } } intree[cur] true; for (int j 1; j v; j) { if (!intree[j] graph[cur][j] distance[j]) distance[j] graph[cur][j]; } } int ans 0; for (int i 2; i v; i) { ans distance[i]; } cout ans endl; }解题思路kruskal 算法 并查集具体思路首先定义 Edge 结构体存储边的两个端点 v1v2 和权值 val实现并查集核心函数init 初始化父节点为自身、find 带路径压缩查找节点根节点、join 合并两个节点所在集合定义排序比较函数cmp 使边按权值升序排列主函数中读取节点数 v 和边数 e创建存储 e 条边的数组 edges 并输入每条边的端点和权值对 edges 按权值升序排序保证优先选权值小的边初始化并查集父节点数组遍历排序后的所有边对每条边查找两个端点的根节点若根节点不同说明加入该边不会形成环符合最小生成树无环要求则将该边的权值累加到结果 ans 中并合并两个端点所在的集合遍历完成后输出 ans即为最小生成树的总权值。具体代码#includeiostream #includevector #include algorithm using namespace std; struct Edge { int v1; int v2; int val; }; int n 10001; vectorint father(n, -1); void init() { for (int i 0; i n; i) father[i] i; } int find (int u) { if (u father[u]) return u; else return father[u] find(father[u]); } void join(int u, int v) { u find(u); v find(v); if (u v) return; else father[v] u; } static bool cmp (Edge a, Edge b){ return a.val b.val; } int main () { int v; int e; cin v e; vectorEdge edges(e); for (int i 0; i e; i) { cin edges[i].v1 edges[i].v2 edges[i].val; } sort(edges.begin(), edges.end(), cmp); init(); int ans 0; for (int i 0; i edges.size(); i) { Edge edge edges[i]; int u find(edge.v1); int v find(edge.v2); if (u ! v) { ans edge.val; join(u, v); } } cout ans endl; }

相关文章:

代码随想录算法训练营第五十六天|prim算法、kruskal算法

题目链接:53. 寻宝 解题思路:prim 算法 具体思路: 首先读取节点数 v 和边数 e,构建大小为 (v 1) * (v 1) 的邻接矩阵 graph,初始值设为 10001 表示节点间无直接边,适配权值不超过 10000 的场景&#x…...

爱普生EPSON打印机废墨垫已满报错?附全系列清零工具软件和教程

日常办公、居家打印全靠爱普生打印机撑着,结果前段时间我的爱普生打印机突然开始 “闹脾气”,频繁弹出各种报错提示,打印出来的文件要么字迹模糊,要么色彩失真,严重拖慢了工作节奏。急得我赶紧琢磨解决办法&#xff0c…...

2026年口碑TOP5的琥珀加工厂家都有谁?带你一探究竟!

家人们,琥珀这玩意儿,近几年可是火得不行!它不仅是漂亮的饰品,还蕴含着深厚的文化内涵,就像一个时间的胶囊,藏着远古的秘密。今天咱就来聊聊2026年口碑TOP5的琥珀加工厂家,看看都有哪些厉害角色…...

MySQL迁移中的合规与兼容双轨实践:从语法适配到安全认证的技术路径

MySQL迁移中的合规与兼容双轨实践:从语法适配到安全认证的技术路径 在当前信创深化推进的背景下,金仓数据库(KingbaseES)因其对MySQL生态的深度适配能力及权威的安全合规认证体系,正被金融、政务、能源等关键行业纳入…...

告别答辩 PPT 熬夜:PaperXie AI PPT 如何让本科生从 “凑内容” 到 “控全场”

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippthttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 引言 毕业答辩的前一周,是无数本科生的 “至暗时刻”:刚改完论文终稿,又要面对空白的 PP…...

我被Notion创始人的一篇文章搞失眠了,他说的3个真相,普通人再不听就晚了

昨晚,我读了一篇文章,结果直接搞得我一整晚没睡好。真的,不是开玩笑。这篇文章,把硅谷都给炸翻了。作者不是马斯克,也不是奥特曼,而是一个叫赵伊万(Ivan Zhao)的哥们,Not…...

欧意下载地址okxz.run复制进去-1982年4月15日晚上19-21点出生性格、运势和命运

欧意下载地址okxz.run复制进去-1982年4月15日晚上19 - 21点出生的人,其性格往往兼具热情与内敛。热情使得他们在人际交往中如鱼得水,能迅速与他人建立起良好的关系。他们积极向上,对生活充满着热爱,总是以乐观的心态面对各种挑战。…...

H3LIS331DLTR‌ 是一款由意法半导体(STMicroelectronics)推出的高性能、低功耗三轴线性加速度计,专为高冲击检测和电池供电应用优化,在工业、汽车、医疗及运动设备中表现出色。

H3LIS331DLTR‌ 是一款由意法半导体(STMicroelectronics)推出的高性能、低功耗三轴线性加速度计,专为高冲击检测和电池供电应用优化,在工业、汽车、医疗及运动设备中表现出色。核心性能参数:‌测量范围‌:支…...

好写作AI:本科生初稿写作避坑指南——这5个雷区,踩中一个都要命!

雷区踩得少,初稿写得好;雷区踩得多,导师想发火四月的深夜,某高校宿舍楼灯火通明。A同学对着空白文档发呆,光标闪了半小时,一个字没憋出来。B同学疯狂敲键盘,写了删删了写,最后发现写…...

TFT-LCD液晶高精度电路板微米级激光修复

一、引言TFT-LCD液晶高精度电路板是屏幕驱动信号传输的核心载体,其线路线宽已迈入微米级(2-5μm),集成度极高。在制程或使用过程中,易因光刻缺陷、静电损伤、制程污染等出现线路短路、开路、微裂等故障,直接…...

1C31166G02 模块广泛应用于化工制造石油等

1C31166G02 产品介绍1C31166G02 是艾默生(Emerson)Ovation 系列分布式控制系统(DCS)中的一款关键模块,具体为串行链路控制器模块。以下是对该产品的详细介绍:一、产品概述品牌与型号:艾默生&…...

2. SpringAI 使用Redis完成会话记忆和会话历史功能

前言SpringAI默认提供的会话记忆功能是基于内存的。如果程序重新启动,那么会话记忆和会话历史都会失。但是SpringAI也提供了会话记忆和会话历史的持久化做法,只不过只是提供的接口,具体需要用户自己实现。这里就使用Redis进行持久化。Maven依…...

进军高端制造“俱乐部”:智石开PLM在复杂产品研发领域的突破性应用排名

在制造业的金字塔尖,高端制造领域因其产品结构极端复杂、研发协同跨学科、质量与合规要求严苛,向来被视为PLM技术与解决方案的终极“试金石”。过去,这块代表行业最高标准与价值的高地,长期被西门子、达索系统、PTC等国际巨头所垄…...

eVTOL动力电驱系统功率链路设计实战:效率、功率密度与可靠性的高空平衡之道

在电动垂直起降飞行器(eVTOL)朝着长航时、高载荷与高安全等级不断演进的今天,其核心动力电驱系统的功率管理已不再是简单的能量转换单元,而是直接决定了飞行器航程边界、动力响应与飞行安全的核心。一条设计精良的高压功率链路&am…...

CRT设置快捷键——密码登录

SecureCRT 快捷键设置用于密码登录,很是便捷,以下文档用于记录下。1、打开CRT,最上端菜单栏中,找到并点击Options,选择Globa Options 并点击(这是全局设置)。2、翻译过来:常规Genera…...

春秋云境CVE-2019-13396

1.阅读靶场介绍这里我们得到的是文件包含的提示想到include2.启动靶场得到上面的照片然后第一感觉就是看url是否存在include这类的参数这里发现没有那我们接下来就是去登入后台了3.bp启动这里我们发现响应体出现include的参数直接尝试../../../../../../../flag读取旗帜如下图所…...

深度解析:Redis 预扣减与 RabbitMQ 异步解耦,如何完美平衡延迟与一致性?

🚀 深度解析:Redis 预扣减与 RabbitMQ 异步解耦,如何完美平衡延迟与一致性?💡 核心导读: 在高并发架构中,“延迟(Latency)” 和 “一致性(Consistency&#x…...

2026 年 Java 后端面试题,吃透 20 套专题技术栈

前言小编分享的这份 2026 年 Java 备战面试题总计有 1000 多道面试题,包含了 MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Java 并发编程、Java 基础、Spring、微服务、Linux、Spring Boot 、Spring Cloud、RabbitMQ、kafka 等 20 个专题技…...

期货程序化交易断线重连与订单状态同步

免责声明:本文基于个人使用体验,与任何厂商无商业关系。内容仅供技术交流参考,不构成投资建议。 一、前言 实盘运行中网络断线、进程重启后,需要重连并同步账户与订单状态,避免重复下单或漏单。做了多年期货程序化&am…...

德希科技水质监测仪厂家

一、核心技术与研发优势国内专业水质监测设备生产企业以自主研发为核心,将电化学、光学传感与智能控制技术深度融合,研发团队针对水环境监测痛点持续优化核心部件,设备在长期稳定性、抗干扰能力与维护便捷性上形成明显优势。一体化集成设计被…...

KingbaseES集群运维案例之--主备发生故障,主库能正常使用,备库无法启用

KingbaseES集群运维案例之–主备发生故障,主库能正常使用,备库无法启用 案例:主备发生故障,主库能正常使用,备库无法启用 文章目录KingbaseES集群运维案例之--主备发生故障,主库能正常使用,备库…...

白菜遗传转化

白菜遗传转化主要采用农杆菌介导法,以带柄子叶或花序为外植体,转化效率最高可达13.5%,常用于抗病和品质改良。主流方法比较 方法 外植体 优点 缺点 效率 子叶法 7–10天无菌苗带柄子叶 再生稳定、操作简便 需组培 8–…...

ORACLE-ADG

需要理解一下如下的一些概念,以下是19c,我的一个测试库的环境主库SERVICEprimaryINSTANCE_NAME(SQL)ORACLE_SID(instance)SID_NAME(listener)SERVICE_NAME(tns)DB_UNIQUE_NAME(pfile)FAL_CLIENT(pfile)SERVICE(pfile*XDB)cnpcdb_namecnpc---------------…...

小鼠T细胞激活试剂盒技术原理与应用

一、引言T淋巴细胞作为适应性免疫应答的核心细胞,在抗感染、抗肿瘤及免疫调节中发挥不可替代的作用。T细胞的活化是启动免疫应答的首要步骤,其过程受到严格的双信号调控。在过继性免疫治疗和基础免疫学研究中,如何在体外高效激活并扩增功能性…...

想找专业AI智能获客公司?这几个数字揭秘行业佼佼者!

引言在当今竞争激烈的商业环境中,企业面临着获客成本高、转化难、人效低等诸多挑战。专业的AI智能获客公司成为众多企业寻求突破的关键。本文将通过几个关键数字,揭秘行业中的佼佼者,为企业选择合适的AI智能获客伙伴提供参考。多客智能&#…...

无信号的井下场景,手持slam三维扫描难点在哪?

在无信号的地下空间,手持SLAM三维扫描,会面临以下难点: 1.无外部定位,完全靠自身算法 地下没有信号,设备只能靠自身惯导与视觉,一旦算法不稳,很容易漂移、重定位失败。 2.地下场景往往光线暗、…...

算法设计与分析-习题5.2

目录 1.应用快速排序将序列E,X,A,M,P,L,E按照字母顺序排序并画出相应的递归调用树。 2.对于本节描述的划分过程: a.请证明,如果两个扫描指针停下来以后指向的是同一个元素&#xf…...

DebugFS 文件系统

debugfs 是 Linux 内核提供的专用调试文件系统,核心定位是「为内核开发者 / 调试人员提供一个简单、统一的接口,用于暴露内核 / 硬件的调试信息、状态和配置」,你之前问到的 /sys/kernel/debug/dw/hdmi 就是 debugfs 最典型的应用场景。一、核…...

第二届大数据分析与人工智能应用学术会议(BDAIA2025)EI检索通知

【检索通知】BDAIA2025已被EI Compendex检索发布时间: 2026-03-11转发尊敬的投稿作者:您好! 我们很高兴通知您,第二届大数据分析与人工智能应用学术会议(BDAIA2025)已经成功实现EI Compendex检索,作者们可自…...

【第一篇】未来真AI记忆:道术分离分层耦合框架(AGI 长记忆核心架构)

【第一篇】未来真AI记忆:道术分离分层耦合框架(AGI 长记忆核心架构) 发布格式:CSDN 技术博客 / 人工智能 / 大模型 / 记忆系统 作者:华夏之光永存 本文主体定级:终极 未来真AI记忆:道术分离分层…...