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

【算法】837. 连通块中点的数量

题目

837. 连通块中点的数量

思路

与上一题类似,多了一个统计集合数量,可以定义一个数组用于记录集合个数,初始时设置为1,每要合并就更新一次。

代码

#include<iostream>
using namespace std;
const int N = 100010;
int n, m;
int p[N],siz[N];
int find(int x)
{
	if (p[x] != x)
		p[x] = find(p[x]);
	return p[x];
}
int main()
{
	cin >> n >> m;
	for (int i = 1;i <= n;i++)
	{
		p[i] = i;
		siz[i] = 1;
	}
	while (m--)
	{
		char op[3];
		cin >> op;
		int a, b;
		if (op[0] == 'C')
		{
			cin >> a >> b;
			if (find(a) == find(b))
				continue;
			siz[find(b)] = siz[find(a)] + siz[find(b)];
			p[find(a)] = find(b);
		}
		else if (op[1] == '1')
		{
			cin >> a >> b;
			if (find(a) == find(b))
				cout << "Yes" << endl;
			else
				cout << "No" << endl;
		}
		else {
			cin >>a;
			cout << siz[find(a)] << endl;
		}
	}
	
	return 0;
}

相关文章:

  • 后端-Java虚拟机
  • STM32引脚类型
  • 1.计算机基础知识
  • Milvus向量数据库部署
  • ?算法1-4 小A点菜
  • 解决DeepSeek服务器繁忙
  • 20250303-代码笔记-class CVRPTester
  • 【现代深度学习技术】卷积神经网络03:填充和步幅
  • BUU43 [BJDCTF2020]The mystery of ip 1
  • 通配符匹配在Redis中的实现
  • 爬虫不“刑”教程
  • c++ cout详解
  • 探秘虚拟与现实的融合:VR、AR、MR 技术的变革力量
  • 清华大学AI赋能医药代表销售培训讲师专家培训师唐兴通Deepseek医药数字化营销大健康数字化转型医药新媒体营销
  • 云平台 | 玩转单细胞比率可视化
  • yoloV5的学习-pycharm版本
  • T41LQ专为人工智能物联网(AIoT)应用设计,适用于智能安防、智能家居、机器视觉等领域 软硬件资料+样品测试
  • 【前端】前端设计中的响应式设计详解
  • PAT乙级真题 / 知识点(1)
  • 【JavaEE】线程安全
  • 中俄元首今年首次面对面会谈,达成哪些新的重要共识?
  • 新华每日电讯:给“男性妇科病论文”开一剂复方药
  • 范志毅跨界归来做青训,探索中国足球人才培养新模式
  • 山寨“小米”智能马桶、花洒销售额过亿,被判赔3500万元
  • 马上评|比余华与史铁生的友情更动人的是什么
  • 调节负面情绪可以缓解慢性疼痛