As you see

// luogu-judger-enable-o2
#include<cstdio>
#include<cstring>
#include<algorithm> inline int read () {
int x = 0,f = 1;
char c = getchar();
while(c < '0' || c > '9'){if(c=='-')f=-1; c=getchar();}
while(c <= '9' && c >= '0') x = x * 10 + c - '0',c = getchar();
return x*f;
}
const int maxn = 1000007;
int n,m,a[maxn],tot = 0,root[maxn];
struct Chairman_Tree {
int ch[2],num ;
} ;
Chairman_Tree t[maxn << 4];
#define lc t[x].ch[0]
#define rc t[x].ch[1]
void build(int & x,int l,int r) {
x = ++ tot;
if(l == r) {
t[x].num = a[l];return ;
}
int mid = l + r >> 1;
build(lc,l,mid); build(rc,mid+1,r);return ;
} int query(int x,int l,int r,int pos) {
if(l == r) return t[x].num;
int mid = l + r >>1;
if(pos <= mid) return query(lc,l,mid,pos);
else return query(rc,mid+1,r,pos);
} void modify(int pre,int &x,int l,int r,int pos,int w) {
t[x = ++tot] = t[pre];
if(l == r) {
t[x].num = w;return ;
}
int mid = l + r >> 1;
if(pos <= mid) modify(t[pre].ch[0],lc,l,mid,pos,w);
else modify(t[pre].ch[1],rc,mid + 1,r,pos,w);
}
int main () {
n = read(),m = read();
for(int i = 1;i <= n;++ i) a[i] = read();
build(root[0],1,n);
for(int T,op,a,b,i = 1;i <= m;++ i) {
T = read(),op = read();
if(op == 1) {
a = read(),b = read();
modify(root[T],root[i],1,n,a,b);
}
else {
a = read(),root[i] = root[T];
printf("%d\n",query(root[T],1,n,a));
}
}
return 0;
}

最新文章

  1. web前端学习随笔
  2. 生成树形结构的json字符串代码(c#)供前端angular tree使用.
  3. app端微信支付(二) - 生成预付单
  4. 纯css的防止图片撑破页面的代码(图片自动缩放)
  5. syslog-ng 学习心得与配置说明
  6. python生成中文验证码,带旋转,带干扰噪音线段
  7. PHP简单post验证绕过
  8. Farseer.Net
  9. python操作sqlite数据库
  10. CSS3:优雅地绘制不规则ICON
  11. linux下修改MAC地址方法
  12. ZeroMQ初探
  13. Intelligence System
  14. 深度学习word2vec笔记之基础篇
  15. io流的关闭顺序
  16. lease.go
  17. 西湖论剑2019-msc之奇怪的TTL
  18. Java中的4个并发工具类 CountDownLatch CyclicBarrier Semaphore Exchanger
  19. easyui combobox 在datagrid中动态加载数据
  20. 2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践

热门文章

  1. BZOJ1009: [HNOI2008]GT考试 矩阵快速幂+kmp+dp
  2. 用HTML5 Canvas做一个画图板
  3. 测试数据库DG搭建为正式库以后做准备
  4. eclipse+jetty+web项目调试---不显示源码
  5. Spring学习--Bean 之间的关系
  6. JavaScript中cookie使用
  7. jsp小知识点(2)
  8. 【EOJ3654】管理孩子(贪心,二分)
  9. MySQL-based databases CVE-2016-6664 本地提权
  10. Linux 的源码安装工具 CheckInstall