模板 31 : 并查集(围棋棋子连通)
围棋的棋子有黑色和白色两种,相同颜色的棋子如果是上下或左右相邻的,则称这两个棋子是连通的,直接或间接连通的棋子称为一块棋。
•现在,不断给出N个落棋子的信息(颜色、横坐标、纵坐标),问棋盘上有多少块棋?
#include<bits/stdc++.h>using namespace std;int n,m,ans;int num[1000101];//点的编号 int id[100010101];//点所在块的id void init(){//初始化 cin>>n>>m;for(int i=1;i<=n;i++){num[i]=id[i]=i;//开始的id都不相同 }ans=n;}int main(){init();for(int i=0;i<m;i++){int a,b,ida,idb;cin>>a>>b;ida=id[a];//a点在连通块id idb=id[b];//b点在连通块id if(ida!=idb)//两个点在不同的连通块{for(int j=1;j<=n;j++){if(id[j]==ida){id[j]=idb;//改为相同的id }ans--;//连通块数减一 }}}cout<<ans;return 0;}
模板 31 : 并查集(围棋棋子连通)相关推荐
- 【模板】并查集 两种路径压缩写法(类模板和函数模板)
并查集函数模板写法: #include <bits/stdc++.h> using namespace std; typedef long long ll; #define MAX_N 1 ...
- 洛谷 P3367 【模板】并查集
嗯... 题目链接:https://www.luogu.org/problemnew/show/P3367 并查集可以支持的操作:"并"和"查".然后这道题主要 ...
- 【LibreOJ109】【模板】并查集
并查集模板,就酱紫. #include<iostream> using namespace std; #define mod 998244353long long ans;int fa[4 ...
- 洛谷 P3367 ---- 【模板】并查集
题目描述 给出一个并查集,请完成合并和查询操作. 输入格式: 第一行包含两个整数N.M,表示共有N个元素和M个操作. 接下来M行,每行包含三个整数Zi.Xi.Yi 当Zi=1时,将Xi与Yi所在的集合 ...
- 题解 P3367 【【模板】并查集】
#include<iostream> #include<cstdio> using namespace std; int n,m,x,y,z; int f[150000]; / ...
- CF990G GCD Counting(树上莫比乌斯反演,分层图,并查集)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 给定一棵点带权无根树,对于每个 k∈[1,2×105]k\in[1,2\times10 ...
- 7-3 最小生成树-kruskal (10 分)(思路+详解+并查集详解+段错误超时解决)宝 Come
一:前言 本题需要用到并查集的知识,建议先学完并查集后再看看本题 二:题目 题目给出一个无向连通图,要求求出其最小生成树的权值. 温馨提示:本题请使用kruskal最小生成树算法. 输入格式: 第一行 ...
- 并查集的相关知识详解 Come baby!!!
一:并查集的相关知识 这道题用到了并查集,所以我就学了一下并查集,所以把自己的见解也分享给大家(建议 先看视频 再浏览 博客 再自己敲一遍 学习效率高而已,我总是乱着来 以为看几篇博客就会了,其实最后 ...
- 7-25 朋友圈 (25 分)(详解+并查集的了解和应用)
一:题目 某学校有N个学生,形成M个俱乐部.每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈.一个学生可以同时属于若干个不同的俱乐部.根据"我的朋友的朋友也是我的朋友"这个 ...
最新文章
- Linux中新建用户用不了sudo命令问题:rootr is not in the sudoers file.This incident will be reported解决
- eNSP模拟器路由器无法正常启动一直显示“#”——问题解决方法
- csharp: 百度语音合成
- swift Array 数组
- python random.choice报错_如何解决mtrand.RandomState.choice中的内存错误...
- EOS page问题
- JavaScript实现sieveOfEratosthenes埃拉托色尼筛选法算法(附完整源码)
- Spring注入总结
- CRM系统助家具企业华丽转身
- 计算机操作系统(9):深入理解B/S与C/S架构
- selenium 验证码——万能码的使用
- 《爬虫写得好,铁窗关到老》教你把握爬虫的法律边界!㊫
- c++实现决策树分类汽车评估数据集_R有监督机器学习-分类方法
- Chrome的插件扩展程序安装目录是什么?在哪个文件夹?
- 成功的人都很会控制自己的情绪
- drools rule (二) LHS语法详解
- 腾讯专访 | 子芽:代码疫苗技术,赋能数字化应用内生安全自免疫
- 《UNIX系统编程》
- Excel快速填充列
- 什么是视频监控平台的平台对接