hrbust 2240 带权并查集
来源:互联网 发布:2016淘宝热销产品 编辑:程序博客网 时间:2024/05/16 01:46
一开始要用folyd做
但是爆数组了
参考大佬代码带权并查集
#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>#define ll long longusing namespace std;int f[100005];int sum[100005];int find(int x){ if(f[x]!=x) { int pre=f[x]; f[x]=find(f[x]); sum[x]+=sum[pre]; } return f[x];}void init(int n){ for(int i=0;i<=n;i++) f[i]=i;}int main(){ int n; while(~scanf("%d",&n)) { int t; init(n); memset(sum,0,sizeof(sum)); for(int i=0;i<n;i++) { scanf("%d",&t); if(t==1) { int x,y,z; scanf("%d%d%d",&x,&y,&z); int X=find(x),Y=find(y); if(X!=Y) { sum[X]=z+sum[y]-sum[x]; f[X]=Y; } } else { int x,y; int X,Y; scanf("%d%d",&x,&y); X=find(x),Y=find(y); if(X==Y) { printf("%d\n",sum[x]-sum[y]); } else printf("?\n"); } } }}
0 0
- hrbust 2240 带权并查集
- hrbust 哈理工oj 1418 夏夜星空【带权并查集】
- hrbust 病毒 并查集
- 并查集 hrbust 1725
- HRBUST 1793 离线并查集
- HRBUST 1418 并查集偏移
- 并查集--带权
- 带权并查集
- 带权并查集
- 带权并查集
- 带权并查集
- 带权并查集
- 带权并查集
- 带权并查集
- 带权并查集
- 并查集和带权并查集
- 并查集与带权并查集
- poj 1182 (带权并查集)
- 程序员面试金典--面试25之将m的二进制数位插入到n的二进制的第j到第i位
- C# ,asp.net 获取当前,相对,绝对路径
- 3dmax室内设计,建筑视频
- 第3章 线程间通信
- C# DateTime 日期计算
- hrbust 2240 带权并查集
- 混淆代码问题之没有jar包的解析Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRel
- HDU 2722 Here We Go(relians) Again (SPFA+建图)
- 三次握手和四次挥手
- hautoj 1260
- Spark写入Parquet,暴露JDBC引擎,实现准实时SQL查询
- executeUpdate()数据库更新字段卡主问题
- (二)进制、数据类型
- uoj 35 后缀数组first blood