E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
算法基础·基础算法·并查集
C++
并查集
算法
目录:
并查集
简介
并查集
的三种基本操作1、clean:将
并查集
进行初始化,其祖先是该元素本身。·2、find:查询一个元素属于哪个集合。3、Merge:合并两个集合。
允彦
·
2024-01-11 05:10
题解
并查集
算法
数据结构
c++
并查集
模版(C++)
并查集
例题1
并查集
例题2#includeusingnamespacestd;constintN=1e5;intf[N];//寻找根节点intfind(intx){if(x!
√+&
·
2024-01-11 05:10
算法实现
并查集
模版
集合
数据结构
算法
数据结构:合并集合—
并查集
朴素
并查集
C++模板:intp[N];//存储每个点的祖宗节点//返回x的祖宗节点intfind(intx){if(p[x]!
奋斗吧!骚年!
·
2024-01-11 05:09
#
数据结构
数据结构
图论
c++
并查集
【C++】
并查集
模板及简单应用
并查集
:是一种可以动态维护若干个不重叠的集合,并且支持合并和查询的数据结构。主要包含如下两个基本操作:find,查询一个元素属于哪一个集合。
leimingzeOuO
·
2024-01-11 05:09
C++
算法
ACWing算法提高课
c++
数据结构
并查集
图论
算法
C++
并查集
模板
并查集
一般在遇到求解冗余关系,关系合并,环的数量等问题的时候使用。不需要对各数值进行输出。注意与有向无环图问题进行区分!
子木呀
·
2024-01-11 05:39
C/C++
嵌入式知识整理
c++
stl
力扣
算法
数据结构
并查集
模板题:合并集合
#include#include#includeusingnamespacestd;constintN=1e5+10;intp[N];intfind(intx){if(x!=p[x]){p[x]=find(p[x]);}returnp[x];}intmain(){intn,m;cin>>n>>m;for(inti=1;i>op;if(op=='M'){cin>>a>>b;intpa=find(a)
名字想不称展
·
2024-01-11 05:08
#
并查集
算法
c++
图论
合并集合—
并查集
模板
输入样例:45M12M34Q12Q13Q34输出样例:YesNoYes#includeusingnamespacestd;constintN=1e6+10;intp[N];intfind(intx){if(p[x]!=x)p[x]=find(p[x]);returnp[x];}intmain(){inttt,n;cin>>n>>tt;for(inti=1;i>op>>a>>b;if(op=='M'
ou_fan
·
2024-01-11 05:08
ou_fan的学习记录
算法
c++
数据结构
【
并查集
】
并查集
模板:合并集合
#includeusingnamespacestd;constintN=100010;intn,m;intp[N];intfind(intx){if(p[x]!=x)p[x]=find(p[x]);returnp[x];}intmain(){cin>>n>>m;for(inti=1;i>c;cin>>a>>b;if(c=='M')p[find(a)]=find(b);else{if(find(a)
暮色_年华
·
2024-01-11 05:07
#
并查集
蓝桥杯
c++
拓扑学
【C++算法】
并查集
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、
并查集
是什么?二、使用步骤1.初始化2.合并3.查找总结前言本文讲的是
并查集
最基础的知识,告诉你什么是
并查集
。
聆幽
·
2024-01-11 05:37
算法
c++
C++
并查集
目录1知识点1知识点2知识点321知识点1
并查集
:1.将两个集合合并2.询问两个元素是否在一个集合当中基本原理:每个集合用一棵树来表示。树根的编号就是整个集合的编号。
YMWM_
·
2024-01-11 05:37
Acwing
C++学习
个人笔记
并查集
并查集
(解释和C++模板)
文章目录前言一、结构定义及初始化二、查找结点所在集合根节点三、合并四、路径压缩解释五、整体模板总结前言
并查集
是一种树形的数据结构,顾名思义,它用于处理一些不交集的合并及查询问题(可以判断两个结点之间是否连通
Believe ha
·
2024-01-11 05:37
数据结构
C++
并查集
|| 模版题:合并集合
并查集
:1.将两个集合合并2.询问两个元素是否在一个集合当中基本原理:每个集合用一棵树来表示。树根的编号就是整个集合的编号。
伏城无嗔
·
2024-01-11 05:06
树
力扣
算法笔记
c++
算法
数据结构
226.【2023年华为OD机试真题(C卷)】精准核酸检测(
并查集
-Java&Python&C++&JS实现)
点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握!文章目录一.题目-精准核酸检测二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Java&Python&C++&JS分别讲解)
一见已难忘
·
2024-01-11 02:32
算法之翼—华为OD机试专栏
华为od
c语言
java
精准核酸检测
python
javascript
算法基础
之耍杂技的牛
耍杂技的牛核心思想:贪心推公式:将i和i+1个奶牛交换位置比较交换位置后的危险系数最大值若Wi+Si>Wi+1+Si+1则交换前大交换后更优需要交换因此按照W+S从小到大排序就是最优解再计算危险系数#include#includeusingnamespacestd;constintN=100010;typedefpairPII;//first存w+ssecond存wPIIcows[N];intma
阳光男孩01
·
2024-01-11 02:01
算法
算法基础
之排队打水
排队打水核心思想:贪心时间长的排在后面打水从小到大排序再乘对应权重即可#include#includeusingnamespacestd;typedeflonglongLL;constintN=100010;intn;intt[N];intmain(){cin>>n;LLres=0;for(inti=0;i>t[i];sort(t,t+n);for(inti=0;i
阳光男孩01
·
2024-01-11 02:31
算法
c++
数据结构
算法基础
之货仓选址
货仓选址核心思想:贪心绝对值不等式:∣x–a∣+∣x–b∣≥∣a–b∣|x–a|+|x–b|≥|a–b|∣x–a∣+∣x–b∣≥∣a–b∣将n个数两两分组1~~n-1(奇数会剩一个)分别用绝对值不等式即可推出来货仓位置应该在中位数上(奇数)或在中间两数之间(包括端点)(偶数)#include#includeusingnamespacestd;typedeflonglongLL;constintN=
阳光男孩01
·
2024-01-11 02:31
算法
c++
开发语言
数据结构
算法基础
之二分与前缀和 day 6
文章目录二分第一类第二类前缀和原题链接题目描述输入格式输出格式数据范围输入样例:输出样例:题目分析示例代码二分二分法是我们在高中数学就学习过的一种思想,他也是一种效率较高的查找算法,在编写代码的过程中,初学者很容易就会陷入死循环二分的基本步骤如下第一步是需要确定一个区间,使得我们的目标值一定是在区间中出现的第二步需要确定一个性质,使得这个性质满足两点,第一点是可以根据这个性质把这个区间分为左和右连
一只小松许捏
·
2024-01-11 02:51
算法进阶
算法
递推
二分
前缀和
2-4
基础算法
-离散化/贪心/01背包问题
文章目录一.离散化二.贪心01背包问题一.离散化离散化是一种将数组的值域压缩,从而更加关注元素的大小关系的算法。离散化数组要求内部有序(一般去重)可以通过离散化下标得到值也可以通过值得到离散化下标#include#include#includeusingnamespacestd;intmain(){inta[6]={0,3,1000,2,99999,2};//原数组vectorL;for(inti
卡__卡
·
2024-01-10 23:30
C/C++算法竞赛
算法
数据结构
c语言
c++
开发语言
青少年编程
2-3
基础算法
-Nim和/前缀和/差分
文章目录一.Nim和二.前缀和&区间和三.差分一.Nim和Nim游戏是一个数学策略游戏,通常涉及两名玩家轮流从几堆物品(如石子或饼干)中取走一定数量的物品。每个玩家每次可以从任意一堆中取走任意数量的物品,但必须至少取走一个。最后无法进行操作的玩家输掉游戏。Nim和是所有堆中物品数量的二进制异或(XOR)结果。在计算Nim和时,我们将每堆物品的数量转换为二进制数,然后对这些二进制数进行异或运算。例如
卡__卡
·
2024-01-10 23:29
C/C++算法竞赛
算法
c++
数据结构
c语言
青少年编程
2-5
基础算法
-双指针/二分
文章目录一.双指针二.二分一.双指针这里是用两个变量来表示(数组)下标,并非真的指针(一)对撞指针两个指针left、right(简写为l,r)分别指向序列第一个元素和最后一个元素。然后l指针不断递增,r不断递减,直到两个指针的值相撞或错开(即l>=r),或者满足其他要求的特殊条件为止。对撞指针一般用来解决有序数组或者字符串问题(常见于区间问题):查找有序数组中满足某些约束条件的一组元素问题:比如二
卡__卡
·
2024-01-10 23:23
C/C++算法竞赛
算法
数据结构
c++
开发语言
青少年编程
c语言
基础数据结构第八期
并查集
前言
并查集
这部分还是挺重要的,应该要熟练掌握哦!!!
娇娇yyyyyy
·
2024-01-10 18:09
#数据结构与算法
数据结构
并查集
--畅通工程
3719.畅通工程-AcWing题库https://www.acwing.com/problem/content/3722/某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。所有道路都是双向的。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条双向道路?输入格式第11行给出两个
m0_64953392
·
2024-01-10 17:10
算法
数据结构
高级数据结构:
并查集
文章目录1.什么是
并查集
:2、
并查集
的基本结构3.现实问题和代码实现链接4.代码实现1.什么是
并查集
:对于一个集合S={a1,a2,……an-1,an},这是可以对集合S进一步划分:S1,S2,……,Sm
嘉城401
·
2024-01-10 10:01
数据结构
算法
基础算法
--背包问题(01背包问题、完全背包问题、多重背包问题、分组背包问题)
文章目录前言01背包问题完全背包问题多重背包问题分组背包问题前言背包问题:给我们i件物品,每件物品都有体积vi和权重wi,给我们限制条件,让我们选择在背包的容量内,物品达到权重最大01背包问题01背包问题描述:每件物品只可以使用一次我们看一下题目长什么样:#includeusingnamespacestd;constintN=1010;intv[N],w[N];intf[N][N];//f(i,j
孙同学要努力
·
2024-01-09 18:30
算法基础课
算法
图论
贪心算法
【Acwing
并查集
】238. 银河英雄传说
238.银河英雄传说-AcWing题库题意:思路:
并查集
维护两个信息:每个连通块的size和每个结点之间的距离对于连通块的size,只需要在合并的时候维护一下就好了对于每个结点之间的距离,我们考虑类似于树上差分的思想
lamentropetion
·
2024-01-09 17:20
并查集
算法
c++
数据结构
acwing21
并查集
合并集合一共有n个数,编号是1∼n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:Mab,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;Qab,询问编号为a和b的两个数是否在同一个集合中;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为Mab或Qab中的一种。输出格式对于每个询问指令Qab,都要输出一个结果,如果a和b在
波风一一水门
·
2024-01-09 17:49
笔记
c++
并查集
数据结构
合并集合(
并查集
模板)
一共有n个数,编号是1∼n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:Mab,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;Qab,询问编号为a和b的两个数是否在同一个集合中;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为Mab或Qab中的一种。输出格式对于每个询问指令Qab,都要输出一个结果,如果a和b在同一集合
wowon~
·
2024-01-09 17:49
并查集
数据结构
c++
算法
并查集
acwing基础课——
并查集
由数据范围反推算法复杂度以及算法内容-AcWing常用代码模板2——数据结构-AcWing基本思想:
并查集
是一种树型的数据结构,在近乎O(1)的复杂度来处理一些不相交集合的合并及查询问题(即所谓的并、查
我的鱼干呢w
·
2024-01-09 17:17
acwing算法基础课二刷记录
数据结构
算法
c++
AcWing:
并查集
并查集
理论基础
并查集
的作用是什么:将两个集合合并。询问两个元素是否在一个集合当中。
clementines_
·
2024-01-09 17:17
c++
算法
数据结构
AcWing 836.合并集合(
并查集
)
题目(
并查集
好像面试挺爱考的,代码短还有思维)思路if(p[a]!
少女的英雄梦312
·
2024-01-09 17:15
练习题
合并集合(
并查集
)
思路
并查集
可以判断连通块的数量,可以判断集合的大小。
做一只大熊猫
·
2024-01-09 17:45
#
并查子集
图论
算法
java
并查集
(ACWING三道题)
1.适用题型在我个人理解,
并查集
是用于解决这样的问题:题目中的数据分多个集合,并且有合并的可能,有时需要查找两个元素是不是在同一集合,以及该集合中所有元素的数量。
阳光.
·
2024-01-09 17:45
算法打怪升级之路
图论
c++
数据结构
AcWing |【
并查集
】合并集合
题目内容一共有n个数,编号是1~n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:“Mab”,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;“Qab”,询问编号为a和b的两个数是否在同一个集合中;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为“Mab”或“Qab”中的一种。输出格式对于每个询问指令”Qab”,都要输出一
Leonadoice
·
2024-01-09 17:15
算法训练营
AcWing |【
并查集
】食物链
题目内容动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是”1XY”,表示X和Y是同类。第二种说法是”2XY”,表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,
Leonadoice
·
2024-01-09 17:15
算法训练营
acwing
算法基础
课:
并查集
并查集
模板作用:1.将两个集合合并2.询问两个元素是否在同一个集合中近乎O(1)时间复杂度完成上述操作基本原理:每个集合用一棵树表示,树根的编号就是整个集合的编号。
墨染&殇泪
·
2024-01-09 17:14
acwing
#
数据结构
算法
合并集合(
并查集
)
作用:高效的合并两个集合和查询两个元素是否在同一个集合,时间复杂度近O(1);原理:每个集合用一颗树来表示,树根的编号就是整个集合的编号,每个节点存储他的父节点。#includeusingnamespacestd;constintN=100010;intp[N];intfindd(intx){while(p[x]!=x){x=p[x];}returnx;}intmain(){ios::sync_w
秘制函数
·
2024-01-09 17:44
数据结构
算法
c++
数据结构
银河英雄传说 acwing-238
并查集
题面链接:238.银河英雄传说-AcWing题库题面:思路:
并查集
,如果没有求两艘战舰之间的战舰数量,这就是一题很简单的
并查集
但是这题需要计算两艘战舰之间的数量,我们就需要维护一个d数组,保存的是当前战舰到战舰头的距离
Evil_boy__
·
2024-01-09 17:14
c++
数据结构
并查集
Acwing
并查集
学习记录
思路:当形成闭环的时候游戏结束,所以添加最后一边时,应满足该边的两端在同一个联通块中,所以可用
并查集
,判断两点的祖宗节点是否相同。
haniwn
·
2024-01-09 17:13
笔记
算法
AcWing-
并查集
-合并路径
文章目录
并查集
acwing-836合并路径
并查集
将两个集合合并询问两个元素是否在一个集合当中O(1)近乎O(1)基本原理:每个集合用一棵树来表示,树根的编号就是整个集合的编号。
superkcl2022
·
2024-01-09 17:13
#
AcWing
算法
数据结构
AcWing
算法基础
并查集
并查集
并查集
解决的问题将两个集合合并询问两个元素是否在一个集合中基本原理用树的形式来维护每个集合,树根的编号就是整个集合的编号,每个节点存储他的父节点,p[x]表示x的父节点问题1,如何判断树根:if(
mu6y
·
2024-01-09 17:40
算法
算法
数据结构
算法学习周记4(acwing
并查集
、二分)
acwing——836合并并查一共有nn个数,编号是1∼n1∼n,最开始每个数各自在一个集合中。现在要进行mm个操作,操作共有两种:Mab,将编号为aa和bb的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;Qab,询问编号为aa和bb的两个数是否在同一个集合中;输入格式第一行输入整数nn和mm。接下来mm行,每行包含一个操作指令,指令为Mab或Qab中的一种。输出格式对于每个
whisper_cxl
·
2024-01-09 17:10
算法
学习
acwing
并查集
目录
并查集
的路径压缩两种方法法一法二AcWing240.食物链AcWing837.连通块中点的数量示例
并查集
自写
并查集
并查集
的路径压缩两种方法法一沿着路径查询过程中,将非根节点的值都更新为最后查到的根节点
honortech
·
2024-01-09 17:08
数据结构
c++
算法
基础算法
【解题思路】:单链表的倒数第k个节点
定义指针p1,让p1走k步:定义指针p2,在p1走了k步的时候,p2也跟着走。p1走到最后的时候走了n-k步,停留在最后的null结点。P2从头结点开始,也跟着走到了n-k步,而n-k恰好是倒数第k个节点。例子:实现://返回链表的倒数第k个节点staticListNodefindFromEnd(ListNodehead,intk){ListNodep1=head,//第一个指针p2=head;/
Shujie_L
·
2024-01-09 16:10
数据结构和算法
算法
深入理解多叉树最大深度算法(递归)
深入理解多叉树最大深度算法(递归)多叉树的最大深度问题是树结构中的一个
基础算法
题目,通过递归的思想能够清晰地解决。本文将深入讨论多叉树最大深度的算法,并提供相应的C++代码。
极客李华
·
2024-01-09 15:14
找工作记录
算法
408重要数据结构+算法汇总——C语言手搓版(全)
目录:线性表链表栈队列链栈链队二叉树线索二叉树堆堆排序
并查集
(quickfind、quickunion、w-qickunion、路径压缩)AVL树红黑树B树拓
一碗姜汤
·
2024-01-09 12:46
cs算法数据结构
算法
数据结构
c语言
协同过滤算法—推荐系统
基础算法
(含python代码实现以及详细例子讲解)
推荐系统
基础算法
之协同过滤算法一、算法简介1.1算法概述1.2算法核心和步骤二、基于用户的协同过滤算法(User-Based)2.1相似度及预测值的计算2.1.1相似度计算2.1.2预测值的计算2.2通过例子理解
啥都不懂的小程序猿
·
2024-01-08 21:16
人工智能
推荐系统
机器学习
数据挖掘
推荐系统
机器学习
python
线性代数
并查集
算法
并查集
算法参考文档:https://baike.baidu.com/item/%E5%B9%B6%E6%9F%A5%E9%9B%86/9388442?
烟波灼灼
·
2024-01-08 17:25
通信原理期末复习——基础小题汇总(二)
目录:目录一、概念:二、填空:专栏导航:妄北y系列专栏导航:C/C++的
基础算法
:C/C++是一种常用的编程语言,可以用于实现各种
妄北y
·
2024-01-08 12:58
期末复习
期末考试
基础知识
通信原理
概念原理
香农定理
AM调制
信息
欧拉函数算法总结
例题展示欧拉函数题目链接活动-AcWing系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的
基础算法
题目。https://www.acwing.com/problem
ykycode
·
2024-01-08 08:06
经典算法总结
数论
算法
欧拉函数
数学
数论
线性筛法
欧拉定理
费马小定理
C++中使用vector保存新建对象中自指指针的问题
问题在某些场景中(例如
并查集
),我们需要将新建对象中的指针指向对象自己。
A11en3
·
2024-01-07 21:17
C++Primer
内存管理
c++
算法
开发语言
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他