luogu1196 [noi2002]galaxy银河英雄传说(带权并查集)
来源:互联网 发布:java ee 6权威指南 编辑:程序博客网 时间:2024/05/18 09:10
挺裸的带权并查集。。。注意一下N应该是300000,而不是30000
#include<cstdio>#include<cmath>#include<algorithm>#include<iostream>using namespace std;int const N=300005;int n,fa[N],size[N],s[N];//s[i] i前面有多少战舰inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar(); return x*f;}inline int find(int x){ if(fa[x]==x) return x; int xx=find(fa[x]); s[x]+=s[fa[x]]; return fa[x]=xx;}int main(){// freopen("a.in","r",stdin); n=read(); for(int i=1;i<=n;++i) fa[i]=i,size[i]=1; while(n--){ char ss[2];scanf("%s",ss); int x=read(),y=read(); int xx=find(x),yy=find(y); if(ss[0]=='M'){ fa[xx]=yy;s[xx]=size[yy];size[yy]+=size[xx]; } if(ss[0]=='C'){ if(xx==yy) printf("%d\n",abs(s[x]-s[y])-1); else puts("-1"); } } return 0;}
阅读全文
0 0
- luogu1196 [noi2002]galaxy银河英雄传说(带权并查集)
- NOI2002 银河英雄传说(并查集)
- NOI2002银河英雄传说 并查集
- Noi2002 银河英雄传说(并查集)
- [NOI2002]银河英雄传说(并查集)
- noi2002 银河英雄传说 (并查集处理路径)
- NOI2002银河英雄传说(带边权的并查集)
- 【NOI2002】caioj1095: 并查集4(银河英雄传说)
- [题解] NOI2002 银河英雄传说 (并查集)
- 银河英雄传说(带权并查集)(草稿)
- 并查集——nkoj1206【NOI2002 Day1 T1】银河英雄传说
- 【noi2002】银河英雄传说
- Noi2002银河英雄传说
- 【NOI2002】银河英雄传说
- NOI2002 银河英雄传说
- NOI2002 银河英雄传说
- NOI2002-银河英雄传说
- 【NOI2002】银河英雄传说
- CPU i3-6100T 在 Aida64 V5.60.3700 的测试结果
- Hibernate自我总结(Configuration接口)
- 校验经纬度的格式是否符合规范
- Android Studio上进行ffmpeg开发
- Java中的foreach循环遍历详解
- luogu1196 [noi2002]galaxy银河英雄传说(带权并查集)
- 物联网RFID技术在智能交通系统的应用
- 五大常用算法之三:贪心算法
- Android之蓝牙驱动开发总结
- The Values You Can Make CodeForces
- HDU 6188 Duizi and Shunzi(贪心)
- DATE_SUB() 函数从日期减去指定的时间间隔
- 区分一下ip形式
- JavaScript学习总结(六)——JavaScript判断数据类型总结