博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Corporative Network UVALive - 3027 (并查集)
阅读量:6799 次
发布时间:2019-06-26

本文共 796 字,大约阅读时间需要 2 分钟。

 

并查集水题,需要注意的是这里不能采用寻常的连根模式,而要直接用节点连接其父节点,而每个节点的到根节点的长度在find函数递归的过程中实现。

AC代码:

#include
using namespace std;const int size=20005;int fa[size],d[size];inline int Abs(int x){ if(x<0) return -x; return x;}void init(int n){ for(int i=1;i<=n;i++) { fa[i]=i; d[i]=0; }} int find(int x){ if(x==fa[x]) { return fa[x]; } else { int temp=find(fa[x]); d[x]+=d[fa[x]]; return fa[x]=temp; }}void merge(int x,int y){ fa[x]=y; d[x]=Abs(x-y)%1000;}int main(){ int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); char op[2]; init(n); while(scanf("%s",op)&&op[0]!='O') { if(op[0]=='E') { int x; scanf("%d",&x); find(x); printf("%d\n",d[x]); } else{ int u,v; scanf("%d%d",&u,&v); merge(u,v); } } }}

 

转载于:https://www.cnblogs.com/fly-white/p/10092733.html

你可能感兴趣的文章
修改visual studio2010 的快捷键,使用ctrl+W 关闭当前文档
查看>>
ckeditor
查看>>
架构和框架的区别
查看>>
webservice系统学习笔记5-手动构建/发送/解析SOAP消息
查看>>
[原创]项目管理知识体系指南之 4项目整合管理思维导图
查看>>
经典网页设计:20个华丽的 iPhone 应用程序演示网站
查看>>
Flash:DisplayObject的transform/matrix的潜规则、小bug
查看>>
汗,Google又调整了编译工具(升级SDK先备份!!!)
查看>>
iOS 里RGB 配色 UIColor colorWithRed
查看>>
Windows环境下用C#编程将文件上传至阿里云OSS笔记
查看>>
android 读取SQLite android could not open the database in read/write mode错误
查看>>
构建高性能的ASP.NET应用程序
查看>>
抽离CodeIgniter的数据库访问类 可以独立使用
查看>>
android 关于InputDispatcher出现Consumer错误的解决办法
查看>>
Tomcat全攻略
查看>>
转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
查看>>
Razor视图引擎 语法
查看>>
JAVA Map 和 List 排序方法
查看>>
快速构建Windows 8风格应用34-构建Toast通知
查看>>
GridView Print and Print Preview
查看>>