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

图论--最小生成树

prim算法(稠密图)例题:https://www.acwing.com/problem/content/860/给定一个 n 个点 m 条边的无向图图中可能存在重边和自环边权可能为负数。求最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。给定一张边带权的无向图 G(V,E)其中 V 表示图中点的集合E 表示图中边的集合n|V|m|E|。由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树其中边的权值之和最小的生成树被称为无向图 G 的最小生成树。输入格式第一行包含两个整数 n 和 m。接下来 m 行每行包含三个整数 u,v,w表示点 u 和点 v 之间存在一条权值为 w 的边。输出格式共一行若存在最小生成树则输出一个整数表示最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。数据范围1≤n≤500,1≤m≤105,图中涉及边的边权的绝对值均不超过 10000。输入样例4 51 2 11 3 21 4 32 3 23 4 4输出样例6#include iostream#include algorithm#include cstringusing namespace std;const int N 510,INF 0x3f3f3f3f;int n,m;int arr[N][N],dist[N];bool st[N];int prim(){memset(dist,0x3f,sizeof dist);int ans 0;dist[1] 0;for(int i 1;i n;i){int t -1;for(int j 1;j n;j){if(!st[j] (t -1 || dist[t] dist[j]))t j;}ans dist[t];if(dist[t] INF) return INF;st[t] true;for(int j 1;j n;j){dist[j] min(dist[j],arr[t][j]);}}return ans;}int main(){cin n m;memset(arr,0x3f,sizeof arr);for(int i 1;i m;i){int x,y,z;cin x y z;arr[x][y] arr[y][x] min(z,arr[x][y]);}int res prim();if(res INF) cout impossible endl;else cout res endl;return 0;}算法核心:从不在st集合当中的点选择一个距离st集合中点最近的点加入到st当中 并用此点来更新不在st集合中点到st集合的距离需要注意的是与之前图论的问题不同 这里的dist数组指的是此节点到已经建好的生成树的距离 而不是到某个点的距离通过枚举修改dist数组来不断更新未加入到集合中节点到集合的距离每次选取最短距离则可以建成最小生成树Kruskal算法(稀疏图)例题:https://www.acwing.com/problem/content/861/给定一个 n 个点 m 条边的无向图图中可能存在重边和自环边权可能为负数。求最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。给定一张边带权的无向图 G(V,E)其中 V 表示图中点的集合E 表示图中边的集合n|V|m|E|。由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树其中边的权值之和最小的生成树被称为无向图 G 的最小生成树。输入格式第一行包含两个整数 n 和 m。接下来 m 行每行包含三个整数 u,v,w表示点 u 和点 v 之间存在一条权值为 w 的边。输出格式共一行若存在最小生成树则输出一个整数表示最小生成树的树边权重之和如果最小生成树不存在则输出 impossible。数据范围1≤n≤105,1≤m≤2∗105,图中涉及边的边权的绝对值均不超过 1000。输入样例4 51 2 11 3 21 4 32 3 23 4 4输出样例6#include iostream#include cstring#include algorithmusing namespace std;const int N 1e5 10,M 2e5 10,INF 0x3f3f3f3f;int n,m,p[N],ans,cnt;int find(int x){if(p[x] ! x) p[x] find(p[x]);return p[x];}struct Edge{int a,b,w;bool operator (const Edge W) const{return w W.w;}}edge[M];void Kruskal(){for(int i 1;i m;i){auto t edge[i];int a t.a,b t.b,w t.w;a find(a),b find(b);if(a ! b){ans w;cnt;p[a] b;}}}int main(){cin n m;for(int i 1;i n;i){p[i] i;}for(int i 1;i m;i){int x,y,z;cin x y z;edge[i] {x,y,z};}sort(edge 1,edge m 1);Kruskal();if(cnt n - 1) cout ans endl;else cout impossible endl;return 0;}算法核心:使用并查集来维护节点是否在同一个集合内部若是选到的边两边的节点在一个集合内部则跳过此边 选择下一条边继续判断关键点 创建一个结构体数组来存储边的信息sort排序并依次取出权值最小的边

相关文章:

图论--最小生成树

prim算法(稠密图) 例题:https://www.acwing.com/problem/content/860/ 给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。 给定一张边带权的…...

Photon Matrix激光灭蚊系统深度技术剖析:从理论到工程实现

引言:当反导技术遇上蚊虫防治 激光灭蚊的概念并非Photon Matrix首创。早在2007年,曾参与美国“星球大战”计划的物理学家Lowell Wood就曾在比尔及梅琳达盖茨基金会关于根除疟疾的研讨会上提出过类似设想。此后数年间,Intellectual Ventures等…...

C 语言从 0 入门(十三)|结构体:自定义数据类型与实战

大家好,我是网域小星球。 前面我们学习了基本数据类型、数组、指针、函数,能够处理数字、字符等简单数据。但在实际开发中,我们经常需要描述一个复杂对象,比如学生、商品、员工、书籍等,它们包含多种不同类型的信息&a…...

科研进展 | JAG: 大光斑高光谱激光雷达遥感辐射传输模型从垂直视角解锁森林叶绿素分布密码

大光斑高光谱激光雷达辐射传输模型: 垂直视角解锁叶绿素分布密码当森林的 “健康密码” 藏在垂直分层的枝叶间,传统遥感技术难以触及森林冠层中下层的生化奥秘? 近日,电子科技大学定量遥感团队白杰副研究员(师资博士后&#xff09…...

SITS东南亚本地化失败案例复盘,37天重构AI模型适配流程——奇点大会唯一授权披露的应急响应SOP

第一章:奇点智能技术大会:SITS系列品牌的全球化布局 2026奇点智能技术大会(https://ml-summit.org) SITS(Singularity Intelligence Technology Series)作为奇点智能技术大会核心孵化的技术品牌矩阵,已形成覆盖算法研…...

思摩尔第一季营收38.6亿:同比增42% 全面收益总额1.3亿降39%

雷递网 乐天 4月10日思摩尔国际控股有限公司(简称:“思摩尔”,股票代码:“6969”)日前发布截至2026年3月31日的财报。财报显示,思摩尔2026年第一季度营收为38.56亿元,较上年同期的27.22亿元增长…...

AI原生微服务可观测性如何突破“黑盒困局”?SITS2026首发Trace-LLM双轨追踪框架(已落地支撑日均2.4亿次AI调用)

第一章:SITS2026分享:AI原生微服务架构设计 2026奇点智能技术大会(https://ml-summit.org) 核心设计范式演进 AI原生微服务架构不再将模型作为后端API的被动调用对象,而是将其建模为具备生命周期、可观测性、弹性扩缩与上下文感知能力的一等…...

HTML转EXE一键打包工具版【实测可用】支持本地网页文件与在线网址直接生成独立可执行程序

温馨提示:文末有联系方式一、的HTML转EXE专业工具 无需订阅、不设试用期、不强制付费——本工具为真正版本,所有功能完全开放,下载即用,彻底告别弹窗广告与隐藏项。二、零环境依赖,纯图形化一键操作 无需安装Node.js、…...

如何交换表分区_ALTER TABLE EXCHANGE PARTITION实现数据快速导入导出

EXCHANGE PARTITION能秒级导入导出数据,因其仅交换元数据而非移动实际数据文件;要求源表与目标分区结构完全一致,包括列定义、约束、索引等,否则直接报错。EXCHANGE PARTITION 为什么能“秒级”导入导出数据因为 exchange partiti…...

STM32H7 SPI4与W25Q128 Flash通信实战:50MHz时钟配置避坑指南

STM32H7 SPI4与W25Q128 Flash通信实战:50MHz时钟配置避坑指南 在嵌入式开发中,高速SPI通信一直是工程师们面临的挑战之一。特别是当我们需要在STM32H7系列微控制器上实现50MHz时钟频率的SPI4接口与W25Q128 Flash通信时,各种意想不到的问题往往…...

Python实现GCJ-02与CGCS2000坐标转换的GUI工具开发

1. 为什么需要坐标转换工具 第一次接触地图开发的朋友可能会疑惑:为什么坐标还需要转换?这得从国内地图服务的特殊性说起。国内主流地图服务如高德、腾讯地图使用的GCJ-02坐标系(俗称火星坐标系),与全球通用的WGS84坐标…...

.NET 新特性概览与相关文章索引竿

从 UI 工程师到 AI 应用架构者 13 年前,我的工作是让按钮在 IE6 上对齐; 13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。 最近&#x…...

作者介绍Java高级工程师

作者介绍Java高级工程师 廖万忠 编程比赛成绩 2023年CSDN基础用户1million Java开发者用户30万332个团长比赛成绩 102 rank美国创业公司 HackerRank 项目组 Java工程师 2022年 accepted深圳腾讯公司 腾讯云开发者社区 2022年年度进取作者 coderlwz 证书北京大学2010级计算机优秀…...

终极ARC-AGI测试功能扩展指南:从零开始自定义AI推理任务

终极ARC-AGI测试功能扩展指南:从零开始自定义AI推理任务 【免费下载链接】ARC-AGI The Abstraction and Reasoning Corpus 项目地址: https://gitcode.com/GitHub_Trending/ar/ARC-AGI 欢迎来到ARC-AGI(Abstraction and Reasoning Corpus for Art…...

终极指南:Ant Media Server视频转码技术与FFmpeg集成优化方案

终极指南:Ant Media Server视频转码技术与FFmpeg集成优化方案 【免费下载链接】Ant-Media-Server Ant Media Server — Ultra-low latency streaming engine with WebRTC (~0.5s), SRT, RTMP, HLS, CMAF, adaptive bitrate, transcoding & scaling 项目地址: …...

终极指南:如何用MixItUp实现动态内容的无缝插入与移除操作

终极指南:如何用MixItUp实现动态内容的无缝插入与移除操作 【免费下载链接】mixitup A high-performance, dependency-free library for animated filtering, sorting, insertion, removal and more 项目地址: https://gitcode.com/gh_mirrors/mi/mixitup Mi…...

如何高效参与PointNet_Pointnet2_pytorch开源项目:完整贡献指南

如何高效参与PointNet_Pointnet2_pytorch开源项目:完整贡献指南 【免费下载链接】Pointnet_Pointnet2_pytorch PointNet and PointNet implemented by pytorch (pure python) and on ModelNet, ShapeNet and S3DIS. 项目地址: https://gitcode.com/gh_mirrors/po/…...

阿姆智创15.6寸嵌入式工控一体机,赋能机器视觉与产线数字化生产

在工业自动化与工厂数字化深度融合的时代,嵌入式工控一体机已成为连接设备、数据与人机交互的核心硬件载体。阿姆智创15.6寸嵌入式工控一体机,凭借稳定可靠的工业级性能、丰富齐全的系统接口、紧凑灵活的嵌入式设计,适配机器视觉设备与MES/ES…...

超级千问语音设计世界应用案例:快速生成短视频配音与游戏角色语音

超级千问语音设计世界应用案例:快速生成短视频配音与游戏角色语音 1. 引言:当语音合成遇上像素冒险 在内容创作领域,声音设计往往是最容易被忽视却又至关重要的环节。无论是短视频创作者需要快速生成旁白,还是独立游戏开发者需要…...

掌握msdfgen形状描述语法:从基础几何到复杂路径的完整指南

掌握msdfgen形状描述语法:从基础几何到复杂路径的完整指南 【免费下载链接】msdfgen Multi-channel signed distance field generator 项目地址: https://gitcode.com/gh_mirrors/ms/msdfgen msdfgen是一款强大的多通道有向距离场生成工具,能够将…...

终极指南:Ant Media Server性能基准测试 - 不同硬件配置下的低延迟流媒体表现对比

终极指南:Ant Media Server性能基准测试 - 不同硬件配置下的低延迟流媒体表现对比 【免费下载链接】Ant-Media-Server Ant Media Server — Ultra-low latency streaming engine with WebRTC (~0.5s), SRT, RTMP, HLS, CMAF, adaptive bitrate, transcoding & s…...

C#批量生成带Logo的二维码?我写了个小工具解放双手(Free Spire.Barcode实战)

C#实战:批量生成带Logo的二维码自动化工具开发指南 每次需要为上百名员工生成工牌二维码时,手动操作不仅耗时还容易出错。作为技术负责人,我花了三个周末终于开发出一套稳定高效的解决方案。这套基于Free Spire.Barcode的自动化工具&#xff…...

Vue3 响应式系统是如何实现依赖收集的?通俗易懂的 Proxy 机制解析

Vue3响应式核心用Proxy替代Object.defineProperty,通过get/set拦截实现按需依赖收集与触发;读取时track记录effect,修改时trigger通知更新。Vue3 的响应式核心靠 Proxy 实现依赖收集,它不像 Vue2 那样遍历所有属性去 defineProper…...

九,附录 B:响应周期公式

九,附录 B:响应周期公式九,附录 B:响应周期公式九,附录 B:响应周期公式 A2B_RESPCYCS 寄存器用于设置从控制帧(SCF)开始到最后一个从节点用响应帧(SRF)进行响…...

深入解析 Chromium 中的 Mojo IPC 消息机制及其实现

1. Mojo IPC 消息机制概述 Chromium 浏览器采用多进程架构设计,渲染进程(Renderer Process)和浏览器主进程(Browser Process)之间需要高效可靠的通信机制。Mojo 作为 Chromium 的进程间通信(IPC&#xff09…...

【2026 】大模型选型与 API 接入全指南:主流模型技术解析与实战对比

文章目录2026 大模型选型与 API 接入全指南:主流模型技术解析与实战对比一、引言二、2026 主流大模型全景2.1 闭源旗舰模型2.2 开源 / 可私有化模型三、能力维度横评四、API 接入方式全景4.1 主要接入渠道对比4.2 统一接口标准五、定价结构与成本估算5.1 Token 成本…...

八,附录 A:其他发现流程示例

八,附录 A:其他发现流程示例八,附录 A:其他发现流程示例8.1 修改后的发现流程8.2 优化后的发现流程8.3 高级发现流程八,附录 A:其他发现流程示例 以下部分提供了关于修改后的、优化后的和高级的发现流程的…...

NR随机接入之MSG3:从信令解析到资源调度的关键一步

1. MSG3在NR随机接入中的核心作用 当你用手机刷视频时,有没有想过这个简单的动作背后,其实经历了一场精密的"握手仪式"?MSG3就是这个仪式中最关键的那句"自我介绍"。作为5G NR随机接入流程的第三步骤,它承担着…...

AI软件研发成本飙升的真相:3个被忽视的隐性成本源,今天不查明天多烧47%预算!

第一章:AI原生软件研发成本优化实战技巧 2026奇点智能技术大会(https://ml-summit.org) AI原生软件的研发成本常被模型训练开销主导,但实际可观测的浪费更多来自推理服务冗余、提示工程低效、以及缺乏细粒度资源编排。聚焦可落地的降本路径,…...

长芯微LDC1258完全P2P替代ADS1258,是一款16通道、低噪声、24位、ΔΣ模数转换器(ADC)

描述LDC1258是一款16通道、低噪声、24位、ΔΣ模数转换器(ADC)。支持16 个单通道输入或者8组差分输入。既可以支持单次转换也可以支持连续转换:单次转换时,最大数据速率为29.5kSPS;连续转换时,最大数据速率为125kSPS。片内含有PLL…...