2012-2013 ACM-ICPC, Asia Tokyo Regional Contest F.Never Wait for Weights(带权并查集模板)
来源:互联网 发布:mac磁盘分区失败 编辑:程序博客网 时间:2024/06/10 20:09
题目大意:
存在着n个物品,然后有m次操作
! x y l
表示y比x重l
? x y
表示询问y比x重多少
解题思路:
这是一道带权并查集的问题,之前没有触及到,所以这次遇到就补充一下
#include<iostream> #include<cstdio>#include<stdio.h>#include<cstring>#include<cstdio>#include<climits> #include<cmath> #include<vector> #include <bitset> #include<algorithm> #include <queue> #include<map> #define inf 9999999;using namespace std;typedef long long LL;int n,T;int fa[100005],rank[100005];int getf(int x){if(x==fa[x])return x;int k=getf(fa[x]);rank[x]+=rank[fa[x]];return fa[x]=k;}void init(){for(int i=1;i<=n;i++){fa[i]=i;rank[i]=0;}}int main(){char s;int t1,t2;int x,y,l,i;for(;;){scanf("%d%d",&n,&T);init();if(n==0&&T==0)break;while(T--){scanf("%s",&s);//cin>>s;if(s=='!'){scanf("%d%d%d",&x,&y,&l);t1=getf(x);t2=getf(y);if(t1!=t2){fa[t2]=t1;rank[t2]=rank[x]+l-rank[y];}}else{scanf("%d%d",&x,&y);t1=getf(x);t2=getf(y);if(t1!=t2)printf("UNKNOWN\n");elseprintf("%d\n",rank[y]-rank[x]);//cout<<rank[y]-rank[x]<<endl;;}}}}
阅读全文
0 0
- 2012-2013 ACM-ICPC, Asia Tokyo Regional Contest F.Never Wait for Weights(带权并查集模板)
- Never Wait for Weights(带权并查集)
- 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest C題:Shopping [贪心+并查集]
- BZOJ4690 Never Wait for Weights(带权并查集模板题)
- UESTC 1832 - Never Wait for Weights 并查集 (2012 Tokyo)
- [BZOJ]4690: Never Wait for Weights 带权并查集
- 2012-2013 ACM-ICPC, Asia Tokyo Regional Contest Beautiful Spacing 二分 + dp + 双指针扫描
- UVALive 6187 Never Wait for Weights(并查集)
- BZOJ[4690]Never Wait for Weights 加权并查集
- bnu 33684 Never Wait for Weights (权值并查集)
- 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest F題:There is No Alternative [最小生成树]
- HDU 5441 Travel(离线 + 带权并查集)——2015 ACM/ICPC Asia Regional Changchun Online
- 2014-2015 ACM-ICPC, Asia Xian Regional Contest F Color
- hdu 4750 2013 ACM/ICPC Asia Regional Nanjing Online 1003 并查集+离线操作
- bzoj 4690: Never Wait for Weights (加权并查集)
- HYSBZ 4690 Never Wait for Weights(变种并查集)
- 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest A題:Bit String Reordering [bfs]
- 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest B題:Miscalculation [简单模拟]
- 面对对象-抽象类,接口,内部类
- Java中DecimalFormat中的四舍五入的用法
- Linux下桥接模式的设置
- java控制台输出图书馆管理系统(只用java代码不用数据库和GUI等)
- CVPR2017 all paper list
- 2012-2013 ACM-ICPC, Asia Tokyo Regional Contest F.Never Wait for Weights(带权并查集模板)
- STL学习之五:stack用法示例
- cocos creator将智能提示加入到webstorm中
- 柱面坐标变换
- 设计模式-装饰模式(Decorator)
- 七大查找算法
- hdu 5889 最短路+裸最小割
- 集群基础----(高可用+负载均衡)
- python出现undefined variable from import 的错误