首页 > 其他分享 >837. 连通块中点的数量

837. 连通块中点的数量

时间:2023-04-07 20:13:38浏览次数:40  
标签:连通 837 int cnt cin fa 中点 find cout

link

code

#include<bits/stdc++.h>
using namespace std;

const int N = 100010;

int fa[N], a[N];
int cnt[N];
int find(int x){
	if(x != fa[x]) fa[x] = find(fa[x]);
	return fa[x];
} 

void un(int x, int y){
	x = find(x);
	y = find(y);
	if(x != y){
		fa[y] = x;
		cnt[x] += cnt[y];
		
	}
}


int main(){
	int n, m;
	cin >> n >> m;
	for(int i = 1; i <= n; i++){
		fa[i] = i;
		cnt[i] = 1;
	}
	string s;
	int a, b;
	while(m--){
		cin >> s;
		if(s == "C"){
			cin >> a >> b;
			if(a != b) un(a,b);
		}else if(s == "Q1"){
			cin >> a >> b;
			if(a == b) cout <<"Yes"<<endl;
			else{
				a = find(a);
				b = find(b);
				if(a == b) cout <<"Yes"<<endl;
				else cout <<"No" <<endl;
			}
			
		}else{
			cin >> a;
			a = find(a);
			cout << cnt[a]<<endl;
		}
	}
	return 0;
}

标签:连通,837,int,cnt,cin,fa,中点,find,cout
From: https://www.cnblogs.com/index-12/p/17297205.html

相关文章

  • LightOJ - 1300 Odd Personality(边双连通+奇圈判定)
    题目大意:给出一张无向图,要求找出符合条件的点条件如下:从该点出发,经过一定数量的边,又回到该点,经过的边不能重复经过,且经过的边的数量为奇数解题思路:要回到原点,且不能重复经过边,只能在边双连通分量中找了接着要判断的是有多少个点,只要边双连通分量中有奇圈,那么这个连通分量中的所......
  • 单向链表找到链表的中点
    偶数为n/2奇数为(n+1)/2点击查看代码ListNode*slow=head,*fast=head;while(fast->next!=nullptr&&fast->next->next!=nullptr){slow=slow->next;fast=fast->next->next;}注:需要判断头结点是否为空......
  • 【230405-2】过定点M(4,2),任意作两条互相垂直的直线l1和l2,分别交xy轴于AB两点,求线段中
    ......
  • 直播网站源码,Android中点击图片放大的简单方法
    直播网站源码,Android中点击图片放大的简单方法简单的思路就是把要放大的图片显示在一个对话框中显示出来 Java代码: publicvoidonThumbnailClick(Viewv){//finalAlertDialogdialog=newAlertDialog.Builder(this).create();//ImageViewimgView=getView();//di......
  • 8064: yuyu的虚拟世界 kosaraju强连通分量
    描述 yuyu心情不太好,于是她进入了自己的虚拟世界,其中有n个小镇(1~n编号)和m条单向道,她随便选了一个点,沿着道路往前走,她发现自己可以无限的一直走下去,正好用来打发她的时间。现在她想知道,这个世界中能有几个这样的出发点,只要她选择合适的道路,总可能让她这样一直走下去。  ......
  • 0基础shell脚本ping主机网络连通性实战讲解
    本节通过一个简单脚本,使朋友们了解脚本的基本用法,及编写方法。1、先简化版,实现本机ping主机是否连通,将结果存在一个文件#!/bin/bashifping-c3${i}>/dev/null2>&1th......
  • AtCoder Beginner Contest 248 F(连通性状压dp)
    F连通性状压dp思路看了dls的讲解后才明白一点点。状态\(dp[i][j][k]\)表示到表示到i列,删除了j条边,点i和n-1+i是否联通,对于下一列点,若当前i和n-1+i连通,则多出来的三条......
  • 图的连通性
    无向图的深度优先搜索深度优先搜索的算法过程在图上做DFS时,我们从某个点出发,递归地访问所有与该节点有边相连的节点。在这个过程中,我们用数组vis记录下每个点是否被访问......
  • IU8373兼容CS83711,两节锂电8.4V供电内置升压17W立体声D类音频功放IC
    IU8373兼顾12V适配器供电应用,两种防破音模式,扩频模式,内置BOOST升压模块双节锂电池串联供电,恒定2×17W输出功率R类立体声音频功率放大器,脚位完全兼容CS83711。IU8373E是一款......
  • 图中点的层次
    https://www.acwing.com/problem/content/849/本题为经典的图形插入遍历题目首先是手写链表实现#include<cstdio>#include<cstring>#include<iostream>#include......