hdu1213并查集
板子题不多说,上代码
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int F[];
int find(int x){
if(F[x]==-) return x;
return F[x]=find(F[x]);
}
void bing(int a,int b){
int t1=find(a);
int t2=find(b);
if(t1!=t2) F[t1]=t2;
}
int main(){
int T,n,m,a,b;
cin >> T;
while(T--){
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
F[i]=-;
while(m--){
scanf("%d%d",&a,&b);
bing(a,b);
} int ans=;
for(int i=;i<=n;i++)
if(F[i]==-)
ans++;
printf("%d\n",ans);
}
}
hdu1213并查集的更多相关文章
- HDU--1213并查集
题目传送门:HDU--1213 //题意:ignatius过生日,客人来到,他想知道他需要准备多少张桌子.然而一张桌子上面只能坐上相互熟悉的人, //其中熟悉可定义成为A与B认识,B与C认识,我们就说 ...
- hdu1213 并查集板子
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1213/ 并查集是一种支持合并与查找的数据结构,在森林中进行操作,加上路径压缩,合并和查找的时间复杂度几乎都是常数 ...
- hdu1213 并查集
题意:有 n 个朋友,他们可能相互认识,A 认识 B,B 认识 C,则 ABC 相互认识,现在给出他们的认识情况,相互认识的人坐一桌,否则需要分开坐,问至少需要多少桌. 其实就是问并查集的个数,在初始 ...
- hdu1213 并查集(不压缩)
确定比赛名次 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名 ...
- hdu1213 并查集不压缩
题意:题意:一个人请人吃饭,相互认识的朋友在一张桌子,相互认识的朋友的意思是如果A认识B,B认识C,那么A.B.C是朋友,对于每组输入输出桌子的张数. Sample Input 2 5 3 1 2 2 ...
- HDU1213通畅工程-并查集求解
并查集的经典题目. 并查集.经典题目是HDU1232通畅工程. 题目描述: 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标 ...
- hdu1213 How Many Tables 并查集的简单应用
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213 简单的并查集 代码: #include<iostream> #include< ...
- 并查集——hdu1213(入门)
传送门:How Many Tables 模板代入 判断几个连通分支 DFS亦可完成 [并查集] #include <iostream> #include <cstdio> #i ...
- HDU1213:How Many Tables(并查集)
How Many Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
随机推荐
- 7-10 多项式A除以B (25 分)
题目链接:https://pintia.cn/problem-sets/1108548596745592832/problems/1108548661014913033 题目大意: 这仍然是一道关于A ...
- 什么是java字节码?
什么是java字节码? java字码是java源程序代码的一种较为低级的表示.Java编译器将源代码编译成字码后,就可以Java解释器执行
- Setup ActorComponents
向头文件中添加一些组件 UStaticMeshComponent* MeshComp;//静态网格体组件 USphereComponent* SphereComp;//球体组件//用来接收物体碰撞信息 ...
- 前端 - jquery方式 / iframe +form 方式 上传文件
环境与上一章一样 jquery 方式上传文件: HTML代码 {#html代码开始#} <input type="file" id="img" > ...
- MySql 在cmd下的学习笔记 —— 有关储存过程的操作(procedure)
我们把若干条sql封装取来,起个名字------把此过程存储在数据库中叫存储过程 调用procedure 储存过程是可以变成的,意味着可以使用变量,表达式,控制结构 来完成复杂的功能 声明变量 pro ...
- Java 进制间的转换
package com.touch.onlinedu; public class Test { public static void main(String[] args) { // 1 : 0001 ...
- 集合排序 Comparator和Comparable的使用区别
Java 排序 Compare Comparator接口 Comparable接口 区别 在Java中使用集合来存储数据时非常常见的,集合排序功能也是常用功能之一.下面看一下如何进行集合排序,常用的 ...
- 嵌入式系统C编程之堆栈回溯【转】
转自:https://www.cnblogs.com/clover-toeic/p/3949896.html 前言 在嵌入式系统C语言开发调试过程中,常会遇到各类异常情况.一般可按需添加打印信息,以便 ...
- 关于第一个java程序HelloWorld的感慨
今天入手第一个java程序,严格意义上来讲,是真正开始研究java的第一个“Hello World": 1.没有用自动提示,虽然System.out.println()还是自动蹦出来了,但是 ...
- 缓存系列之二:CDN与其他层面缓存
缓存系列之二:CDN与其他层面缓存 一:内容分发网络(Content Delivery Network),通过将服务内容分发至全网加速节点,利用全球调度系统使用户能够就近获取,有效降低访问延迟,提升服 ...