算法基础之Kruskal算法求最小生成树

Kruskal算法求最小生成树

  • 核心思想: Kruskal算法 : 将每组数据根据权重排序 小的在前面 判断ab是否已经联通(并查集) 没有的话加上一条边

    •   #include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 100010 , M = 2*N , INF = 0x3f3f3f3f;int n,m;int p[N];struct edge{int a,b,w;bool operator< (const edge &W) const{  //重载 <  根据w权值排序return w<W.w;}}edges[M];int find(int x)  //找祖宗节点{if(p[x] != x) p[x] = find(p[x]);return p[x];}int kruskal(){sort(edges,edges + m);for(int i=1;i<=n;i++) p[i] = i;  //初始化并查集int res = 0, cnt = 0;for(int i=0;i<m;i++){int a = edges[i].a, b = edges[i].b , w = edges[i].w;a = find(a), b = find(b);  //找到ab祖宗 if(a!= b)  //不联通{p[a] = b;res +=w;cnt ++ ;}}if(cnt < n-1) return INF;  //cnt为边数 若<n-1 说明不是一颗完整树(前提)return res;}int main(){cin>>n>>m;for(int i=0;i<m;i++){int a,b,w;cin>>a>>b>>w;edges[i] = {a,b,w};}int t = kruskal();if(t == INF) puts("impossible");else cout<<t;}

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

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

相关文章

redis之五种基本数据类型

redis存储任何类型的数据都是以key-value形式保存&#xff0c;并且所有的key都是字符串&#xff0c;所以讨论基础数据结构都是基于value的数据类型 常见的5种数据类型是&#xff1a;String、List、Set、Zset、Hash 一) 字符串(String) String是redis最基本的类型&#xff0c;v…

【线性代数】期末速通!

1. 行列式的性质 1.1 求一个行列式的值 特殊地&#xff0c;对角线左下全为0&#xff0c;结果为对角线乘积。行 r 列 c 1.2 性质 某行&#xff08;列&#xff09;加上或减去另一行&#xff08;列&#xff09;的几倍&#xff0c;行列式不变某行&#xff08;列&#xff09;乘 …

C++学习笔记(十二)------is_a关系(继承关系)

你好&#xff0c;这里是争做图书馆扫地僧的小白。 个人主页&#xff1a;争做图书馆扫地僧的小白_-CSDN博客 目标&#xff1a;希望通过学习技术&#xff0c;期待着改变世界。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 文章目录 前言 一、继承关系…

Pipelined-ADC设计一:序言

现在是2023年12月18日&#xff0c;准备开新帖&#xff0c;设计一个 流水线型 模数转换器&#xff08; Pipelined-ADC &#xff09;。记录帖&#xff0c;后续会放在咸鱼。同步记录&#xff0c;谨防盗用。 初定指标&#xff1a;12位50Mhz&#xff0c;采用2.5bit每级结构&#xff…

使用DTS将自建MySQL迁移至PolarDB MySQL引擎,探索DTS全量数据校验

1. 领取免费的ECS和PolarDB资源 一旦您注册了阿里云账号并填写了您的账号和支付信息&#xff0c;您就可以申请免费试用我们的产品&#xff08;如ECS、PolarDB、RDS等服务&#xff09;。 1.1. 申请 ECS 免费试用 1. 在 阿里云免费试用中心&#xff0c;找到ECS&#xff0c;单击…

可视化 | 基于CBDB的唐代历史人物分析

文章目录 &#x1f4da;人口统计&#x1f407;唐朝历年人数统计&#x1f407;唐朝人口金字塔&#x1f407;唐朝历年出生死亡人数统计&#x1f407;唐朝人口分布&#x1f407;享年数据分布 &#x1f4da;唐朝人口迁徙&#x1f407;人口迁徙&#x1f407;生卒地变迁 &#x1f4da…

IDEA代码补全不能导入某个类了

问题 今天写单元测试时&#xff0c;突然发现idea自动补全代码时不能自动导入类了&#xff0c; 比如在编辑器中输入Test&#xff0c;正常情况下通过快捷键atl/智能补全提示后可以自动生成导入import org.junit.Test &#xff0c;但是现在不行了。 解决办法 由于在导入Test时不小…

html5新增特性

对于这行代码&#xff0c;要写在html页面的最前端&#xff1a; <!DOCTYPE html> 为什么要写在前面&#xff1f; 这是声明&#xff0c;是html5的新特性 对于html4来说&#xff0c;它有三种声明格式&#xff0c;而html5只需要统一声明&#xff0c;用来告诉浏览器文档使用…

Vue系列之指令 v-once

文章の目录 1、介绍2、用法3、作用写在最后 1、介绍 v-once 指令可以用于任何元素或组件&#xff0c;并在绑定数据后&#xff0c;将其内容标记为一次性的&#xff0c;不再响应数据的更新。v-once 是一个不需要表达式的指令。 2、用法 <span v-once>{{ message }}</…

【JavaWeb学习笔记】11 - WEB工程路径专题

一、工程路径问题 1.引入该问题 通过这几个去访问很麻烦 二、工程路径解决方案 1.相对路径 1.说明:使用相对路径来解决&#xff0c;一 个非常重要的规则:页面所有的相对路径&#xff0c;在默认情况下&#xff0c;都会参考当前浏览器地址栏的路径http:/ /ip:port/工程名/来进…

Go集成elasticsearch8极简demo,光速入门

Go集成elasticsearch8极简demo,光速入门 配置go环境创件go mod工程代码实现配置go环境 编辑器添加goproxy GO111MODULE=on;GOPROXY=https://mirrors.wps.cn/go/,https://goproxy.cn,direct;GOSUMDB=off创件go mod工程 mkdir demo cd demo go mod init demo代码实现 在demo…

JMESPath语言

JMESPath&#xff08;JSON Matching Expression Path&#xff09; 一种查询语言。 主要用于从JSON文档中检索和过滤数据。 通过写表达式提取和处理JSON数据&#xff0c;而无需编写复杂的代码。 功能&#xff1a;数据提取、过滤、转换、排序。 场景&#xff1a;处理API响应…

CentOS7安装Docker及添加阿里云镜像加速详细教程

Docker官方安装教程网站&#xff1a;Install Docker Engine on CentOS | Docker Docs 具体流程如下&#xff1a; 1.确定你是CentOS7及以上版本 cat /etc/redhat-release 2.yum安装gcc相关 yum -y install gcc yum -y install gcc-c 3.安装需要的软件包 3.1安装docker引擎…

如何在Windows上安装 PHP?

安装 PHP 的步骤会根据你使用的操作系统而有所不同。以下是在一些主流操作系统上安装 PHP 的基本指南&#xff1a; 在 Windows 上安装 PHP&#xff1a; 下载 PHP&#xff1a; 访问 PHP for Windows 网站。 下载你需要的 PHP 版本&#xff08;通常是线程安全版本&#xff09;。…

MetaSploit工具的使用

在命令行输入&#xff1a;msfconsole 启动msf msfconsole 另外的方式 msfdb init msfdb run 查看数据库连接状态 db_status 扫描端口并存储 db_nmap 查看扫描到的数据信息 services MSF常用的模式和命令 搜索模块 search 模块名字 使用模块 use 编号 查看模块使用 sho…

leetcode 572. 另一颗树的子树

这道题重在思路&#xff0c;默认大家会判断两个树是否完全相同 我会把一些基础的简单的&#xff08;包括 判断两个树是否完全相同 和之前的 求结点个数 &#xff09;单独出博客&#xff0c;或者放在介绍堆和树的知识点里面 572. 另一颗树的子树 题目 给你两棵二叉树 root 和…

对偶问题笔记(1)

目录 1 从 Lagrange 函数引入对偶问题2. 强对偶性与 KKT 条件3. 对偶性的鞍点特征 1 从 Lagrange 函数引入对偶问题 考虑如下优化问题 { min ⁡ f 0 ( x ) s . t f i ( x ) ≤ 0 , i 1 , ⋯ , p , h j ( x ) 0 , j 1 , ⋯ , q , x ∈ Ω , \begin{align} \begin{cases}\min…

比 Spring Cloud Zuul 更好用的 API 网关

推荐一个 比 spring cloud 更好用的 API 网关。它是一个低代码 API 网关。 https://github.com/fiber-net-gateway/fiber-net-gateway 特性 同样是使用 java 开发&#xff0c;相比与 SpringCloud Zuul&#xff0c;它有很多 鲜明的特点。 低代码 它实现了一个灵活好用的脚本…

《从晨到夜:在日常繁忙中寻找成长与平衡的艺术》

早上8点11分&#xff0c;我睁开眼睛&#xff0c;开始了新的一天。不到半小时&#xff0c;我匆匆出门&#xff0c;开始了日常的“搬砖”工作。从9点15分到公司&#xff0c;到下午6点15分结束工作&#xff0c;我的一天被紧凑的工作安排填满。我在完成技术任务的同时&#xff0c;也…

Redis系列之事务机制

什么是Redis事务 学习mysql数据库的时候&#xff0c;我们知道了事务的ACID特性&#xff0c;Redis也是支持事务的&#xff0c;不过和数据库的事务又有什么区别&#xff1f;在mysql数据库中&#xff0c;我们使用begin开启事务&#xff0c;提交是commit&#xff0c;回滚是rollbac…