PAT- 并查集-好朋友

保姆级教程:用BMS的HVIL检测电路,手把手教你排查高压互锁故障(附PWM/直流源方案对比) 本文详细解析了BMS中的HVIL检测电路,通过对比直流源与PWM两种方案,提供了一套系统化的高压互锁故障诊断流程。从电路原理到实战技巧,帮助维修人员精准定位故障根源,提升电动汽车高压系统的安全性和可靠性。 阅读详情

并查集的重点是维护一个father数组,来表明各结点间的关系

【好朋友】

1. 问题描述:

有一个叫做“数码世界”奇异空间,在数码世界里生活着许许多多的数码宝贝,其中有些数码宝贝之间可能是好朋友,并且数码宝贝世界有两条不成文的规定:

第一,数码宝贝A和数码宝贝B是好朋友等价于数码宝贝B与数码宝贝A是好朋友

第二,如果数码宝贝A和数码宝贝C是好朋友,而数码宝贝B和数码宝贝C也是好朋友,那么A和B也是好朋友,现在给出这些数码宝贝中所有好朋友的信息,问:可以把这些数码宝贝分成多少组,满足每组中的任意两个数码宝贝都是好朋友,而且任意两组之间的数码宝贝都不是好朋友。

思路:

A->B 和 B->A 等价,不需要考虑方向。A->B B->C,传递性,直接构成树即可

首先设定father数组为0,表示没有任何朋友;-1代表是根结点,其他值,表示父节点的位置。

  1. 输入两个值之后,若两个值没有出现过的话进行处理 -> 第一个值为根,第二个值指向第一个值。若出现过(father[i]!=0,则不做处理,因为不具有方向性,且可以传递)。
  2. 遍历father数组,选择0或-1的值,进行即可。
#include<cstdio>

const int maxn = 110;
int father[maxn] = { 0 };

int main() {
	/*
	7 5
	1 2
	2 3
	3 1
	1 4
	5 6
	*/
	int n, m;
	scanf("%d%d", &n, &m);
	for (int i = 0; i < m; i++) {
		int tmp1, tmp2;
		scanf("%d%d", &tmp1, &tmp2);
		if (father[tmp1] == 0)
			father[tmp1] = -1;
		if (father[tmp2] == 0)
			father[tmp2] = tmp1;
	}
	int cnt = 0;
	for (int i = 1; i <= n; i++) {
		if (father[i] == -1 || father[i] == 0)
			cnt++;
	}
	printf("%d\n", cnt);

	return 0;
}

 

C#项目实战——【实例】企业人事管理系统(二):4、数据库与数据表设计;5、创建项目; (1)展开新建的db_PWMS数据库节点,选中“表”节点,单击鼠标右键,在弹出的快捷菜单中选择“新建表”命令,如下图:(2)在SQL Server 2008管理器的右边显示一个新表,这里输入要创建的表中所需要的字段,并设置主键,如下图:(3)单击“保存”按钮,弹出“选择名称”对话框,如下图,输入要新建的表名“tb_Login”,单击“确定”按钮,即可在数据库中添加一个表。 阅读详情

相关推荐

Hypermesh联合ABAQUS—Sets的建立和编辑

打开part copy对话框在对话框的最上面位置可以输入copy后的名称,然后将最下面的Separate disconnected regions into parts(将不连续的区域分割成parts)选项的前面方框勾选上。打开abaqus软件界面,File→import→model,将file filter选为inp格式,找到要导入的有限元文件,单击OK导入文件。HyperWorks新建Set时,会在Model Browser显示,打开Create Set对话框显示详细信息。快捷键,高亮set的内容。

动力资料屋的博客 1292

好朋友(并查集)

1. 问题描述: 有一个叫做“数码世界”奇异空间,在数码世界里生活着许许多多的数码宝贝,其中有些数码宝贝之间可能是好朋友,并且数码宝贝世界有两条不成文的规定: 第一,数码宝贝A和数码宝贝B是好朋友等价于数码宝贝B与数码宝贝A是好朋友 第二,如果数码宝贝A和数码宝贝C是好朋友,而数码宝贝B和数码宝贝C也是好朋友,那么A和B也是好朋友,现在给出这些数码宝贝中所有好朋友的信息,问:可以把这些数码宝...

二哈 896

Jetson Orin边缘语音AI实战:用Riva ASR/TTS + Llama 2打造离线智能语音助手

本文详细介绍了如何利用NVIDIA Jetson Orin的边缘计算能力,结合Riva ASR/TTS语音引擎和Llama 2大语言模型,构建完全离线的智能语音助手。通过硬件优化、量化部署和性能调优,实现在网络不稳定环境下的高效语音交互,适用于智能家居、车载系统等场景。

weixin_29053383的博客 243

PAT---并查集总结

并查集的定义: 并:Union 查:FInd 并查集支持两个操作:合并和查找 合并:合并两个集合 查找:判断两个元素是否在一个集合 对同一个集合来说只存在一个根节点,且将其作为所属集合的标识。 并查集的基本操作 ①并查集的实现 //并查集的实现 int father[N]; ②初始化 //初始化 for(int i=1;i<=N;i++){ father[i]=i; } ③查找 把当前查询结点的路径上的所有结点的父亲都指向根结点 ①按原先的写法获得x的

chstor's blog 447

Ollama-OCR实战:5分钟搞定PDF文档转Markdown(附qwen2.5vl模型配置)

本文详细介绍了如何利用Ollama本地部署多模态大模型qwen2.5vl,结合OCR技术,实现PDF文档到Markdown的端到端智能转换。通过解析传统OCR的局限与AI方案的优势,并提供从环境搭建、提示词工程到处理复杂表格的完整实战指南,帮助用户高效构建自动化文档处理流水线,彻底重塑文档处理工作流。

yog99的博客 606

RK3588上跑通Zipformer语音识别的3个坑与填坑实录(附完整编译命令)

本文详细记录了在RK3588开发板上部署Zipformer语音识别模型时遇到的三个典型问题及其解决方案,包括静态库版本冲突、编译脚本配置错误以及模型转换精度调优。文章提供了完整的编译命令和实战步骤,帮助开发者快速在边缘设备上实现高效的语音识别应用。

l6m7n8的博客 716

PAT分类-并查集

目录 基础理论 并查集 A1034 Head of a Gang A1107 Social Clusters A1118 Birds in Forest 基础理论 并查集是一种维护集合的一种数据结构。有两种基本操作:(1)合并(2)查找 实现: 数组int father[N]; 并查集的基本操作: (1)初始化 for(int i = 1; i <= N; i ++) { father[i] = i; } (2)查找(带路径压缩) int findFather(i

Maxi_0902的博客 346

FPGA新手必看:用USB转TTL实现串口通信的完整流程(附CH340G电路详解)

本文为FPGA新手提供了通过USB转TTL模块实现串口通信的完整实战指南。详细解析了CH340G电路设计要点、硬件连接方法,并分享了经过验证的Verilog代码框架,帮助读者快速掌握FPGA与PC通信的核心技术,解决电平匹配与波特率设置等常见问题。

cake8的博客 1051

pat并查集

pat并查集并查集分析难度P1107P1114P1118小结 并查集 1107. Social Clusters (30)-PAT甲级真题 1114. Family Property (25)-PAT甲级真题 1118. Birds in Forest (25)-PAT甲级真题 分析 难度 这三道题难度次序: 1114 > 1107 > 1118 P1107 题目大意: 假设有N个人,每人有k个爱好。 如果两个人有任意一个爱好相同, 那么我们就称这两个人处于一个社交网络中。 问: 这样

qq_43543296的博客 302

详解STM32F407双重ADC同步采集与DMA传输的配置技巧及实战应用

本文详细解析了STM32F407双重ADC同步采集与DMA传输的配置技巧及实战应用。通过CubeMX配置、代码实现和常见问题解决方案,帮助开发者高效实现多通道数据同步采集,提升工业自动化和嵌入式系统的数据采集效率与精度。

ii567的博客 364

贝叶斯网络在R语言中的应用

本文将介绍如何在R语言中使用贝叶斯网络进行建模和推断,并提供相应的源代码示例。以上就是在R语言中使用贝叶斯网络进行建模和推断的基本步骤。通过构建贝叶斯网络模型并使用相应的函数,我们可以对变量之间的依赖关系进行建模、推断和预测。在建立了贝叶斯网络模型后,我们可以使用数据集来估计变量之间的条件概率。接下来,我们可以使用数据集来构建贝叶斯网络模型。除了进行推断,我们还可以使用贝叶斯网络模型进行预测。一旦我们获得了贝叶斯网络模型和条件概率表,我们就可以使用该模型进行推断。首先,我们需要安装并加载相关的R包。

CodeMaven的博客 1279

【PAT甲级复习】 专题复习二:并查集

文章目录1 初始化2 查找根节点+路径压缩3 集合合并4 常见的一些统计数据5 STL中与集合操作相关的函数6 例题解析6.1 A1107 Social Clusters (30 分)6.2 A1118 Birds in Forest (25 分) 并查集主要用来处理一些分组和分类的问题,实现起来也比较简单,主要包含以下几个操作: 1 初始化 int father[N]; for(int i=1; i<=N i++){ father[i] = i; } 2 查找根节点+路径压缩 int fi

Harryline的博客 240

多模型动态路由(Fusion):从“算力霸权”到“架构分权”的工程范式转型

多模型动态路由(Multi-Model Dynamic Routing)是指在多个大语言模型之间,根据请求特征、资源约束和业务目标,动态选择最优模型或模型组合的技术范式。传统网关擅长管理请求流量,但不理解“任务类型”。而AI路由层需要对每个请求进行语义理解、能力匹配和成本评估。从“算力霸权”到“架构分权”,这不是技术的线性演进,而是工程范式的根本转型。过去三年,开发者的核心能力是“选对模型”——在GPT、Claude、Gemini之间做出正确选择。

ZDQ58818的博客 74

PAT-并查集-好朋友

这个题是一个并查集的模型,可以把题目中的组视为“集合”,而题目中的好朋友关系视为边。那么在输入这些好朋友关系时就可以同时对他们进行并查集的合并操作。这样在处理完毕就能得到一些集合,而集合的个数就是要求的组数。 至于集合个数的求解,需要用到,“对于同一个集合来说,只存在一个根节点,且将其作为所属集合的标识”。因此可以开一个bool型数组flag[N]来记录每个结点是否作为每个集合的根结点,这样当处理完属兔数据之后,就可以遍历所有的元素,令它所在集合的根结点设置为true,最后累加flag数组中的元素,即可得.

资资的博客 243

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

并查集“好朋友” && PAT1107 Social Clusters (30 分)

典型用途:求解等价类问题 实现关键: 1. int father[N]; //father[i]表示元素i所在类的代表元。 如果father[i]=i,说明i是这棵树的根结点(也即这个等价类的代表元),可利用该特点递推地找代表元。 若两个元素的根结点相同,说明在同一个等价类中。仅当还不在一个等价类中时才需要合并,注意:合并是让一个等价类的根结点成为另一个等价类的根结点的父亲,如fat...

wxq的博客 220

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

图的专题(持续更新)

一、并查集 eg1. 《算法笔记》P332——好朋友 思路分析: 利用并查集,最终分成的组数就是集合的个数,也就是最后根节点的个数。 代码 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; const int maxn = 105; int fath...

Lynch的博客 209

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

并查集

定义 利用一个数组实现并查集 int father[N]; 其中father[i]表示元素i的父亲结点,比如father[1] = 2说明1的父亲结点是元素2;而如果father[i] == i则说明i是该集合的根节点。 father[1] = 1; father[2] = 1; father[3] = 2; father[4] = 2; 父亲关系图: 1 | 2 / \ 3 4 基本操作 初始化 刚开始每个元素都是独立的集

冷眼看world的博客 217

并查集(模板)

有一个叫做“数码世界”奇异空间,在数码世界里生活着许许多多的数码宝贝,其中有些数码宝贝之间可能是好朋友,并且数码宝贝世界有两条不成文的规定: 第一,数码宝贝A和数码宝贝B是好朋友等价于数码宝贝B与数码宝贝A是好朋友 第二,如果数码宝贝A和数码宝贝C是好朋友,而数码宝贝B和数码宝贝C也是好朋友,那么A和B也是好朋友,现在给出这些数码宝贝中所有好朋友的信息,问:可以把这些数码宝贝分成多少组,满足每组中的任意两个数码宝贝都是好朋友,而且任意两组之间的数码宝贝都不是好朋友 —————

qz的博客 229

《算法笔记》9.6 并查集

一.定义 实现:int father[N]; father[i] = j; 表示 j 的父亲结点是 i;father[i] = i; 表示元素 i 是该集合的根结点; 二.基本操作 1.初始化 for(int i = 1; i <= n; i++) father[i] = i; 2.查找 非递归实现: int findFather(int x) { while(x != father[x...

devilboy恶魔男孩的博客 212

【算法整理】- 并查集

/************************** *@Author: 3stone *@ACM: 算法笔记-并查集-好朋友 *@Time: 18/6/12 *@IDE: VS Code ***************************/ #include&amp;amp;amp;amp;amp;lt;cstdio&amp;amp;amp;amp;amp;gt; #include&amp;amp;amp;amp;amp;lt;algorithm&amp;amp;am

三个石头 232

PAT A1139 First Contact (30分)

PAT甲级:1139 First Contact (30分) Unlike in nowadays, the way that boys and girls expressing their feelings of love was quite subtle in the early years. When a boy A had a crush on a girl B, he would usu...

只想用最简短的代码刷题 476

【PAT甲级A1107】 Social Clusters (30分)(c++)

1107 Social Clusters (30分) 作者:CHEN, Yue 单位:浙江大学 代码长度限制:16 KB 时间限制:250 ms 内存限制:64 MB When register on a social network, you are always asked to specify your hobbies in order to find some potential friends with the same hobbies. A social cluster is a set of

小庄同学的博客 167

PAT Advanced 1139 First Contact (30)

先挂题目链接~ 分析:u想追求v, 找出u的同性好朋友u1,v的同性好朋友v1,并且,u1和v1也得是好朋友。其中输入中带负号的为female。 注意点:不能用int定义输入数据,因为输入中含-0这种数据代表女生,用string存(被大神提醒)。每个人的id唯一,也就是不存在一个男生的id等于一个女生id的绝对值(暂时这么说),因此可以用她们的id进行存储。其他坑点,比如u的好友中有v,即u1...

gq__97的博客 918

PAT甲级刷题记录——1107 Social Clusters (30分)

When register on a social network, you are always asked to specify your hobbies in order to find some potential friends with the same hobbies. A social cluster is a set of people who have some of thei...

一只奋斗中的本科生 255

PAT (Advanced Level) Practice_推荐C++解答范本

继PAT乙级的甲级,题目的难度有明显的提升,利用C语言解答题目,某些题目无法取得简洁而高效的解答。 因此,安利不会C++的同学可以使用 《从C语言转C++简明教程 v5.0+》柳婼 进行快速的入门学习,此外再去MOOC上的计算机程序设计(C++) 课程学习一下第十四周的STL,就可以获得非常愉悦的C++解题体验。当然进行系统学习是更好的。 最后回到主题C++解答范本的推荐 即:柳婼优快云 ...

陈子二的博客 682

PAT-2021年秋季考试-甲级考试记录

还记得去年国庆期间,老师要我们尽快刷完PAT乙级的所有题目,然后就一直不停的刷啊刷。不过我也并没有去考过乙级考试,当时刷题主要还是想着保持手感的同时学更多的东西,算法也好,数据结构也罢。刷完乙级之后,也有断断续续的刷甲级。但重心还是放在了各种ACM的比赛上,所以很长一段时间,有点把甲级的题目当作了暂时的“避难所”(当然也不是说甲级的题目就都很简单,只不过相比ACM赛制的题目真的是要友好太多太多了)。 今年暑假又经历了整整两个月的训练,跟ACM又纠缠了两个月,发现思维思维还是思维,处处要思维,或者是考数学、数

qq_51776588的博客 772
上一篇: 拉伸试样尺寸设计
下一篇: PAT - 1034 Head of a Gang (30 分) 图的DFS
DedicateToAI
博客等级 码龄9年 6粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值