并查集模板
程序员文章站
2022-10-05 21:29:03
推荐题目: "P3367 【模板】并查集" 。 该题的缺点:~~数据不够水~~。 本蒟蒻实在是太弱了,不会! 推荐一篇文章: "浅谈并查集优化" 。 Code: cpp include include include include include include using namespace s ......
推荐题目:p3367 【模板】并查集。
该题的缺点:数据不够水。
本蒟蒻实在是太弱了,不会!
推荐一篇文章:。
code:
#include<iostream> #include<cstring> #include<string> #include<algorithm> #include<cstdlib> #include<cstdio> using namespace std; int n,m,bz; int father[200001]; int find(int x) { if(x==father[x]) return x; return father[x]=find(father[x]); } void unnio(int x,int y) { father[y]=x; } inline int read() { bool f=0; int x=0; char c=getchar(); while(c<'0'||c>'9') { if(c=='-') f=!f; c=getchar(); } while(c>='0'&&c<='9') { x=x*10+c-'0'; c=getchar(); } return f?-x:x; } inline void write(int x) { if(x<0) { putchar('-'); write(-x); } else { if(x/10) write(x/10); putchar(x%10+'0'); } } int main() { n=read(); m=read(); for(int i=1; i<=n; ++i) father[i]=i; int x,y; for(int i=1; i<=m; ++i) { bz=read(); x=read(); y=read(); if(bz==1) { int bz1=find(x); int bz2=find(y); if(bz1!=bz2) unnio(bz1,bz2); } else { if(find(x)==find(y)) printf("y\n"); else printf("n\n"); } } return 0; }
上一篇: 实现两台MySQL数据库数据的同步的方法
下一篇: HUST 1583 长度单位
推荐阅读
-
cad模板文件怎么打开? cad打开并使用模版文件的教程
-
sql server连接oracle并实现增删改查
-
python 集合 并集、交集 Series list set 转换的实例
-
SQL语句的并集UNION 交集JOIN(内连接,外连接)等介绍
-
面试题查找婴儿同名频率和数量(并查集,代码超时了)
-
sql 中 并集union和union all的使用区别
-
IDEA中使用Maven模板创建Maven WebApp项目并使用Tomact来运行项目
-
【TOJ 5224】排座位(并查集+二维数组)
-
LibreOJ #109. 并查集
-
sqlserver查询(子查询,全连接,等值连接,自然连接,左右连,交集,并集,差集)