3673/3674: 可持久化并查集加强版
来源:互联网 发布:中科大软件学院 编辑:程序博客网 时间:2024/06/08 10:51
题目链接
题目大意:可持久化并查集,强制在线
题解:可持久化线段树+启发式合并
rope强啊
我的收获:
#include<cstdio>#include<ext/rope>using namespace __gnu_cxx;rope<int> *fa[200002];int n,m,i,x,y,p,ans,a[200002];int find(int x){ if(fa[i]->at(x)!=x){ int f=find(fa[i]->at(x)); if(f==fa[i]->at(x))return f; fa[i]->replace(x,f); return fa[i]->at(x); } return x;}void uni(int x,int y){int p=find(x),q=find(y);fa[i]->replace(q,p);}int main(){ scanf("%d%d",&n,&m);for(i=0;i<=n;i++)a[i]=i; fa[0]=new rope<int>(a,a+n+1); for(i=1;i<=m;i++){ fa[i]=new rope<int>(*fa[i-1]);scanf("%d",&p); if(p==1)scanf("%d%d",&x,&y),uni(x^ans,y^ans); else if(p==2)scanf("%d",&x),fa[i]=fa[x^ans]; else if(p==3)scanf("%d%d",&x,&y),printf("%d\n",(ans=find(x^ans)==find(y^ans))); }}
阅读全文
0 0
- 3673/3674: 可持久化并查集加强版
- BZOJ 3674 可持久化并查集加强版 可持久化并查集
- [BZOJ 3674]可持久化并查集加强版:可持久化并查集
- BZOJ 3673 可持久化并查集 by zky && 3674 可持久化并查集加强版
- bzoj 3674 可持久化并查集加强版
- 3674: 可持久化并查集加强版
- 3674: 可持久化并查集加强版
- 【BZOJ】3674: 可持久化并查集加强版
- Bzoj 3674: 可持久化并查集加强版
- bzoj 3674 可持久化并查集加强版
- bzoj 3674: 可持久化并查集加强版
- BZOJ 3673/3674(可持久化并查集 by zky,可持久化并查集加强版-可持久化数组)
- BZOJ 3674: 可持久化并查集加强版/BZOJ 3673: 可持久化并查集 by zky 可持久化线段树
- 3674: 可持久化并查集加强版 可持久化线段树
- BZOJ 3674 可持久化并查集加强版 可持久化线段树
- bzoj 3674: 可持久化并查集加强版 可持久化线段树
- 【可持久化并查集】BZOJ3674[可持久化并查集加强版]题解
- [BZOJ3674]可持久化并查集加强版
- 位操作相关题目-数组中某数字只出现了一次及多种进阶版本
- 中级网络工程师-----IP编址
- 解决responseBody日期转时间格式化问题相当管用
- c++引用与指针的区别与联系
- 【脚本语言系列】关于Python基础知识推导式,你需要知道的事
- 3673/3674: 可持久化并查集加强版
- JavaScript中的apply、call和bind方法
- Zepto中如何实现"变量"的类型判断
- css 如何画三角形
- java 发送邮件和读取邮件(163邮箱为例)
- robots.txt文件的作用
- Android.mk 中解决Warning:warning: shared library text segment is not shareable
- 用Java数字签名提供XML安全
- 继承bean配置,依赖bean配置