并查集刷题记录

news/2024/9/25 4:36:48/

【模板】并查集

#include<bits/stdc++.h>
using namespace std;
const int N=1e7+10;
int n,m,z,x,y;
int fa[N];
int find(int x){if(fa[x]==x)return x;return fa[x]=find(fa[x]);
}
void unionset(int x,int y){fa[find(x)]=fa[(find(y))];
}
void solve(){cin>>n>>m;for(int i=1;i<=n;i++)fa[i]=i;for(int i=1;i<=m;i++){cin>>z>>x>>y;if(z==1)unionset(x,y);else {if(find(x)==find(y))cout<<"Y"<<endl;else cout<<"N"<<endl;}}
}
int main(){ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);solve();return 0;
}

[蓝桥杯 2017 国 C] 合根植物

#include<bits/stdc++.h>
using namespace std;
const int N=1e7+10;
int m,n,k,a,b,fa[N];
int find(int x){if(fa[x]==x)return x;return fa[x]=find(fa[x]);
}
void unionset(int x,int y){fa[find(x)]=fa[find(y)];
}
void solve(){cin>>m>>n;for(int i=1;i<=m*n;i++)fa[i]=i;cin>>k;for(int i=1;i<=k;i++){cin>>a>>b;unionset(a,b);}int ans=0;for(int i=1;i<=m*n;i++){if(fa[i]==i)ans++;}cout<<ans<<endl;
}
int main(){ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t;// cin>>t;t=1;while(t--)solve();return 0;
}

一中校运会之百米跑

#include<bits/stdc++.h>
using namespace std;
const int N=1e7+10;
int n,m,k;
map<string,string>fa;
string find(string x){if(fa[x]==x)return x;return fa[x]=find(fa[x]);
}
void unionset(string x,string y){fa[find(x)]=fa[find(y)];
}
void solve(){cin>>n>>m;for(int i=1;i<=n;i++){string s;cin>>s;fa[s]=s;}for(int i=1;i<=m;i++){string x,y;cin>>x>>y;unionset(x,y);}cin>>k;for(int i=1;i<=k;i++){string x,y;cin>>x>>y;if(find(x)==find(y))cout<<"Yes."<<endl;else cout<<"No."<<endl;}
}
int main(){ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t;// cin>>t;t=1;while(t--)solve();return 0;
}

[CCC2022 S2] Good Groups

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m,g;
string nx[N][2],my[N][2];
map<string,int>fa;
void solve(){cin>>n;for(int i=1;i<=n;i++)cin>>nx[i][0]>>nx[i][1];cin>>m;for(int i=1;i<=m;i++)cin>>my[i][0]>>my[i][1];cin>>g;for(int i=1;i<=g;i++){string x,y,z;cin>>x>>y>>z;fa[x]=fa[y]=fa[z]=i;}int ans=0;for(int i=1;i<=n;i++)if(fa[nx[i][0]]!=fa[nx[i][1]])ans++;for(int i=1;i<=m;i++)if(fa[my[i][0]]==fa[my[i][1]])ans++;cout<<ans<<endl;
}
int main(){ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t;// cin>>t;t=1;while(t--)solve();return 0;
}


http://www.ppmy.cn/news/1462088.html

相关文章

echarts学习文档

echarts学习文档 基础概念初始化样式&#xff08;颜色&#xff09;数据集(dataset&#xff09;数据转换(数据转换&#xff08;transform&#xff09; 基础概念 项目里使用npm安装echarts依赖包 npm install echarts在要使用的地方引入 import * as echarts from echarts初始…

2024彩虹医械维修培训邀请

INVITATION 2024年5月20日 时间/TIME 地点/SITE &#xff08;西安、成都&#xff09; 随着我国医疗水平的提升&#xff0c;为适应现代医疗的发展步伐&#xff0c;提升医疗服务水平&#xff0c;各个医院在当下都开始重视医疗器械的维修。在医械行业&#xff0c;由于医疗器械…

Kerberos-梳理

服务端: yuminstall-ykrb5-server vim/var/kerberos/krb5kdc/kdc.conf [kdcdefaults] kdc_ports=88 kdc_tcp_ports=88 [realms] HADOOP.COM={#master_key_type=aes256-cts acl_file=/var/kerberos/krb5kdc/kadm5.acl dict_file=/usr/share/dict/words admin_keytab=/var/kerbe…

函数栈帧的创建和销毁(详细理解)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;c语言课程学习 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 问题&#xff1a; 1.ebp&#xff0c;esp两个寄存器用来维护函数栈帧 2.main函数也一个函数&#…

jsp 实验12 servlet

一、实验目的 掌握怎样在JSP中使用javabean 二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握servlet的用法。【参考课本 上机实验1 】 三、源代码以及执行结果截图&#xff1a; 源代碼&#xff1a; inputVertex.jsp&#xff1a; <% page lang…

2024年4月12日饿了么春招实习试题【第三题】-题目+题解+在线评测,2024.4.12,饿了么机试【Kruskal 算法, 最小生成树】

2024年4月12日饿了么春招实习试题【第三题】-题目题解在线评测&#xff0c;2024.4.12&#xff0c;饿了么机试 &#x1f3e9;题目一描述&#xff1a;样例1样例2解题思路一&#xff1a;[Kruskal 算法](https://baike.baidu.com/item/%E5%85%8B%E9%B2%81%E6%96%AF%E5%8D%A1%E5%B0%…

AIGC时代已至,你准备好抓住机遇了吗?

一、行业前景 AIGC&#xff0c;即人工智能生成内容&#xff0c;是近年来人工智能领域中发展迅猛的一个分支。随着大数据、云计算、机器学习等技术的不断进步&#xff0c;AIGC已经取得了显著的成果&#xff0c;并且在广告、游戏、自媒体、教育、电商等多个领域实现了广泛应用。…

代码复现|Demucs Music Source Separation

一、背景介绍 Demucs是一个开源的音源分离项目。 Demucs在算法层面前后经历了三次大版本的进化&#xff0c;最原始的V1版本是&#xff1a;编解码LSTM。具体算法原理图如下所示。该版本在时域进行音源分离。关于阅读笔记请点击这篇文章。 V1版本原理图 V2版本是同时使用时域和频…