啊哈算法-擒贼先擒王(并查集)
n个强盗,m表示警方的线索,接下来m行,每行两个整数a,b表示a强盗和b强盗是同伙,问一共有多少个团伙
样例输入:
10 9
1 2
3 4
5 2
4 6
2 6
8 7
9 7
1 6
2 4
样例输出:
3
程序代码:
#include<stdio.h>
int getf(int v);
void merge(int u,int v);
int f[110];
int main()
{int i,n,m,x,y,sum=0;scanf("%d%d",&n,&m);for(i=1;i<=n;i++)f[i]=i;for(i=1;i<=m;i++){scanf("%d%d",&x,&y);merge(x,y);}for(i=1;i<=n;i++)if(f[i]==i)sum++;printf("%d\n",sum);return 0;
}
int getf(int v)
{if(v==f[v])return v;f[v]=getf(f[v]);return f[v];
}
void merge(int u,int v)
{u=getf(u);v=getf(v);if(u!=v)f[v]=u;return;
}
啊哈算法-擒贼先擒王(并查集)相关推荐
- Kruskal算法与并查集
Kruskal算法与并查集 一.Kruskal算法 1. 概念 Kruskal算法就是按照图中各个边上的权值大小进行递增排序,以此来构造最小生成树. 2.重点解析 在由Kruskal实现最小生成树的过 ...
- 简单易懂的并查集算法以及并查集实战演练
文章目录 前言 一.引例 二.结合引例写出并查集 1. 并查集维护一个数组 2. 并查集的 并 操作 3. 并查集的 查 操作 4. 基本并查集模板代码实现--第一版(有错误后面分析) 4.1 Jav ...
- 算法总结 — 并查集
参考:算法学习笔记(1) : 并查集 - 知乎 并查集 (disjoint set union) 是 最优美的数据结构之一 合并 (merge): 把两个集合合并 查找 (find): 查找一个元素的 ...
- 【算法】并查集的运用
并查集的概念 朋友圈 团伙问题 连通图 总结 并查集的概念 并查集顾名思义就是合并和查找,问题在于合并什么,查找什么.这里有一种朴素的思想来解释这两个问题.就是把这个想成一棵树.合并什么?就是把不在这 ...
- 算法:并查集(四种方式)
简单并查集 public class UnionFind {private int[] id;private int count;public UnionFind(int N) {count = N; ...
- Kruskal算法和并查集
Kruskal算法 步骤: 第一步:给所有边按照从小到大顺序排列(直接使用库函数qsort / sort). 第二步:从小到大依次考察每条边(u,v),在执行第二步时会出现以下两种情况: 情况1:u和 ...
- 擒贼先擒王——并查集
写一篇并查集的总文,详细介绍什么是并查集?思想是怎样的?怎么写出代码?如何对应题目? 1.什么是并查集 并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题.它管理一系 ...
- Java实现_算法_并查集
并查集 作用:用来查找某个图中是否含有闭环. 比如图一: 上图中就是没有闭环的一个图,而下图(图二)就是一个有闭环的图 思路1-数组寻根法: 顾名思义,数组寻根法(自己称呼的)就是寻找每个节点的根节点 ...
- 【算法】并查集刷题总结
目录 P1396 营救 题目描述 "咚咚咚--""查水表!"原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动的热泪盈眶,开起了门-- 妈妈下班回家, ...
- python【数据结构与算法】并查集引入
文章目录 1 并查集 2 策略 3 代码 1 并查集 Disjoint Set,实际上字面翻译是不相交的集合. 中文名 "并查集" 实际上源自其基本操作: union(X,Y):求 ...
最新文章
- 爬楼梯[LeetCode]
- c语言中如何表示矩阵的乘法,c语言矩阵相乘
- mysql 分区指定路径_[数据库]MySQL 指定各分区路径
- python实现单例模式的三种方法
- PHP学习笔记【9】_表达式
- oracle tnsnames.ora文件用法说明
- sharedpreferences使用方法_Google 推荐在 MVVM 架构中使用 Kotlin Flow
- Unity3D渲染系列之SkyBox天空盒
- xci转nsp工具_再谈xci、nsz、nsp
- 海康威视网页客户端登录过程浅析
- 题解 P2916 【[USACO08NOV]安慰奶牛Cheering up the Cow】
- mysql批量抽取数据_批量从数据库是提取数据,并显示出来。
- 写给自己:入职两个月的收获与变化
- mysql连接与嵌套查询_数据库之嵌套查询与连接查询
- 4年外包终上岸,我只能说这类公司以后能不去就不去
- mongo如何删除数据后相应的删除空间和内存占用
- 管理学30大经典理论
- FPGA入门学习笔记(十四)Vivado实现数码管段码显示以及动态扫描
- Flask-mongoengine 连接 MongoDB 数据库连接提示认证失败(认证数据库未配置)
- 由浅入深的了解高速数据采集卡