算法学习笔记——专题拓展5:并查集(Union-find)算法

介绍

并查集(Union-Find)算法是一个专门针对「动态连通性」的算法,同时它也是最小生成树算法的前置知识。

模板代码

class UF{private:int count;int* parent;public:UF(int n){this->count = n;this->parent = new int[n];for(int i = 0; i<n; i++){parent[i] = i;}}void union(int p, int q){int rootP = find(p);int rootQ = find(q);if(rootP == rootQ){return;}parent[rootP] = rootQ;count--;}//使用了路径压缩,所以不需要size数组来平衡二叉树了int find(int x){if(parent[x] != x){parent[x] = find(parent[x]);}return parent[x];}bool connected(int p, int q){return find(p) == find(q);}int count(void){return count;}
}

题目

例题1:最大人工岛

分析

代码

例题2:被围绕的区域

分析

代码

例题3:等式方程的可满足性

分析

代码

例题4:

分析

代码

总结

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

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

相关文章

【自然语言处理】InstructGPT、GPT-4 概述

InstructGPT官方论文地址&#xff1a;https://arxiv.org/pdf/2203.02155.pdf GPT-4 Technical Report&#xff1a;https://arxiv.org/pdf/2303.08774.pdf GPT-4&#xff1a;GPT-4 目录 1 InstructGPT 2 GPT-4 1 InstructGPT 在了解ChatGPT之前&#xff0c;我们先看看Instr…

OpenHarmony开源软件供应链安全风险

慕冬亮&#xff0c;华中科技大学网络空间安全学院副教授&#xff0c;武汉英才&#xff0c;华中科技大学OpenHarmony技术俱乐部、开放原子开源社团指导教师。研究方向为软件与系统安全&#xff0c;在国际安全会议上发表十余篇论文&#xff0c;并获得ACM CCS 2018杰出论文奖。创立…

【研发管理】产品经理知识体系-产品创新中的市场调研

导读&#xff1a;在产品创新过程中&#xff0c;市场调研的重要性不言而喻。它不仅是产品创新的起点&#xff0c;也是确保产品成功推向市场的关键步骤。对于产品经理系统学习和掌握产品创新中的市场调研相关知识体系十分重要。 目录 概述&#xff1a;市场调研重要性 1、相关概…

YoloV8改进策略:卷积改进|DOConv轻量卷积,即插即用|适用各种场景

摘要 本文使用DOConv卷积,替换YoloV8的常规卷积,轻量高效,即插即用!改进方法非常简单。 DO-Conv(Depthwise Over-parameterized Convolutional Layer)是一种深度过参数化的卷积层,用于提高卷积神经网络(CNN)的性能。它的核心思想是在训练阶段使用额外的深度卷积来增…

【C++题解】1037. 恐龙园买门票

问题&#xff1a;1037. 恐龙园买门票 类型&#xff1a;分支 题目描述&#xff1a; 恐龙园买门票&#xff0c;身高低于 1.3 米购儿童票( 60元 )&#xff0c;否则成人票 120 元。 试编写一个程序&#xff0c;输入身高&#xff0c;输出相应的门票价格。 输入&#xff1a; 一行…

OpenCV鼠标绘制线段

鼠标绘制线段 // 鼠标回调函数 void draw_circle(int event, int x, int y, int flags, void* param) {cv::Mat* img (cv::Mat*)param;if (event cv::EVENT_LBUTTONDBLCLK){cv::circle(*img, cv::Point(x, y), 100, cv::Scalar(0, 0, 255), -1);} }// 鼠标回调函数 void dra…

阿斯达年代记游戏下载教程 阿斯达年代记下载教程

《阿斯达年代记&#xff1a;三强争霸》作为一款气势恢宏的MMORPG大作&#xff0c;是Netmarble与STUDIO DRAGON强强联合的巅峰创作&#xff0c;定于4月24日迎来全球玩家热切期待的公测。游戏剧情围绕阿斯达大陆的王权争夺战展开&#xff0c;三大派系——阿斯达联邦、亚高联盟及边…

Docker-概念及配置(超详细)

docker 第一章 1、什么是docker 答&#xff1a;docker是一种容器引擎&#xff0c;通过docker可以将软件安装并且配置好以后&#xff0c;做成一个镜像文件。通过这个镜像文件可以快速的安装、配置软件环境 2、3个概念 【docker镜像】&#xff1a;将软件环境安装配置好以后产生…

回归预测 | MATLAB实现BO-BP贝叶斯优化BP神经网络多输入单输出回归预测

回归预测 | MATLAB实现BO-BP贝叶斯优化BP神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现BO-BP贝叶斯优化BP神经网络多输入单输出回归预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 回归预测 | MATLAB实现BO-BP贝叶斯优化BP神经网络多输入单输出回归预测 B…

c语言里的位域

位域&#xff08;Bit-fields&#xff09;在C语言中的使用和注意事项 &#x1f31f; 位域是C语言中一种特殊的数据结构&#xff0c;它允许程序员为结构体中的成员分配特定数量的位。位域的使用可以提高内存的使用效率&#xff0c;尤其是在需要进行位操作或者与硬件交互时。 位…

Delta模拟器:iOS上的复古游戏天堂

Delta模拟器&#xff1a;iOS上的复古游戏天堂 在数字时代&#xff0c;我们有时会怀念起那些早期的电子游戏&#xff0c;它们简单、纯粹&#xff0c;带给我们无尽的乐趣。虽然现在的游戏在画质和玩法上都有了巨大的提升&#xff0c;但那种复古的感觉却始终无法替代。幸运的是&a…

字符串、数组的反转

提出一个问题: reverse是字符串还是数组上面的方法? 我的糊涂点,以为都能用呢,但是不是自己想的那样,哎妈呀,东西虽简单但是容易混啊 今天特意看官方解释,所以整理一下,希望以后自己明明白白的 官方描述 reverse是Array.prototype上面的方法,所以所有数组的实例都能用**[].…

linux系统安全及应用【上】

目录 1.账号安全控制 1系统账号清理 2密码安全控制 1 对已经存在的用户账号进行控制 2 对新建的用户密码默认设置 3 历史命令和终端自动注销的安全管理 1 历史命令的限制 2. 用户切换管理 1 su命令的使用 2 ssh 3.授权用户管理 1 sudo命令 2 sudo用户别名 3 查看su…

Java编程EMD

IMF需要满足的俩个条件&#xff1a; 1、极值点和过零点的数目应相等&#xff0c;或最多差一个 2、局部最大值和局部最小值的上下包络线均值为0 EMD的步骤&#xff1a; 1、包络线的获取&#xff1a;确定原始信号的极大值和极小值序列&#xff0c;采用三次样条曲线对极值点进行拟…

【Git】Git常用命令

1、配置命令 # 查看全局配置列表 git config --global -l # 查看局部配置列表 git config --local -l# 查看所有的配置以及它们所在的文件 git config --list --show-origin# 查看已设置的全局用户名/邮箱 git config --global --get user.name git config --global --get use…

智慧旅游引领旅游行业创新发展:借助智能科技的力量,推动旅游服务的个性化、精准化,提升游客的满意度和忠诚度

随着信息技术的迅猛发展和广泛应用&#xff0c;智慧旅游已成为旅游行业创新发展的重要引擎。智慧旅游借助智能科技的力量&#xff0c;推动旅游服务的个性化、精准化&#xff0c;不仅提升了游客的满意度和忠诚度&#xff0c;也为旅游行业的可持续发展注入了新的活力。本文将从智…

安全运营之通行字管理

一、什么是通行字 安全管理所指的通行字指的是对用于身份验证的账号密码或口令的管理。在计算机系统、网络服务、数据库管理等领域&#xff0c;通行字&#xff08;或称账号口令、密码&#xff09;是用于验证用户身份的重要机制。通行字管理的核心目标是确保只有授权用户才能访…

组合优于继承:什么情况下可以使用继承?

C设计模式专栏&#xff1a;http://t.csdnimg.cn/8Ulj3 目录 1.引言 2.为什么不推荐使用继承 3.相比继承&#xff0c;组合有哪些优势 4.如何决定是使用组合还是使用继承 1.引言 面向对象编程中有一条经典的设计原则:组合优于继承&#xff0c;也常被描述为多用组合&#xff0…

链游:未来游戏发展的新风向

链游&#xff0c;即区块链游戏的一种&#xff0c;是一种将区块链技术与游戏玩法相结合的创新型游戏。它利用区块链技术的特性&#xff0c;如去中心化、可追溯性和安全性&#xff0c;为玩家提供了一种全新的游戏体验。链游通常采用智能合约来实现游戏的规则和交易系统&#xff0…

计算机网络和因特网

Internet: 主机/端系统&#xff08;end System / host&#xff09;&#xff1a; 硬件 操作系统 网络应用程序 通信链路&#xff1a; 光纤、网络电缆、无线电、卫星 传输效率&#xff1a;带宽&#xff08;bps&#xff09; 分组交换设备&#xff1a;转达分组 包括&#…