+强在 就过了

既没有启发式又没有路径压缩,连建树都用的是代码最短的写法(什么心态,每天追求代码短)

话说回来 可持久化的数组感觉只能出类似裸题的题目,,,,藏也藏不住啊

 #include <cstdio>
#define mid ((l+r)>>1)
int n,m,time,N=,ca,x,y;
int root[],ls[],rs[],a[];
int change(int x,int y)
{
int l=,r=n,now=++N,past=root[time];
root[++time]=N;
while(l!=r)
if(x<=mid) rs[now]=rs[past],ls[now]=++N,r=mid,now=ls[now],past=ls[past];
else ls[now]=ls[past],rs[now]=++N,l=mid+,now=rs[now],past=rs[past];
a[now]=y;
}
int que(int x)
{
int l=,r=n,now=root[time];
while(l!=r)
if(x<=mid) r=mid,now=ls[now];
else l=mid+,now=rs[now];
return a[now];
}
int get(int p)
{
for(int t=que(p);t!=p;t=que(p)) p=t;
return p;
}
int main()
{
scanf("%d%d",&n,&m);
root[time=]=;
for(int i=;i<=n;i++)
change(i,i);
int start=time,lastans=;
for(int i=;i<=m;i++)
{
scanf("%d%d",&ca,&x);x^=lastans;
if(ca==) root[++time]=root[x+start];
else
scanf("%d",&y),y^=lastans,(ca==)?change(get(y),get(x)):(root[time+]=root[time++],printf("%d\n",get(x)==get(y)));
}
return ;
}

bzoj3674同上(好短)的更多相关文章

  1. C语言系列之强制类型转换(一)

    例子: #include <stdio.h> { char cChar;   //字符型变量 short int iShort; //短整型变量 int ilnt;           / ...

  2. Ios拦截手机短信程序

    引用 1.手机要越狱,没有越狱的话,下面的可以不用看了!  2.IOS 要5.0以上,4.xx的同上  首先,声明下!由于公司移动开发的项目中,需要根据手机的内容进行逻辑处理,也就是要实现手机短信拦截 ...

  3. apple iphone 3gs 有锁机 刷机 越狱 解锁 全教程(报错3194,3014,1600,短信发不出去等问题可参考)

    以自身经历列步骤如下:(基本思路就是刷6.1.6,越狱,降级基带,解锁) 一.准备工作 1.下载3gs 6.1.6官方固件.地址:http://act.feng.com/wetools/index.p ...

  4. 短网址API

    http://tao.tf/open/ API简介 API允许第三方自由调用URL缩短,基于text/json/jsonp/js模式,支持post.get提交. 支持缩短网址: 淘宝网(*.taoba ...

  5. Android6.0 源码修改之屏蔽系统短信功能和来电功能

    一.屏蔽系统短信功能 1.屏蔽所有短信 android 4.2 短信发送流程分析可参考这篇 戳这 源码位置 vendor\mediatek\proprietary\packages\apps\Mms\ ...

  6. 重构客户注册-基于ActiveMQ实现短信验证码生产者

    重构目标:将bos_fore项目中的CustomerAction作为短信消息生产者,将消息发给ActiveMQ,创建一个单独的SMS项目,作为短信息的消费者,从ActiveMQ获取短信消息,调用第三方 ...

  7. 短信api接口

    1.需要用到的结构 typedef struct _SM_PARAM { char SCA[16];//+8613552678753// 短消息服务中心号码(SMSC地址) char TPA[16]; ...

  8. Android8.1 源码修改之通过黑名单屏蔽系统短信功能和来电功能

    前言 之前写过一篇Android6.0 的屏蔽系统短信功能和来电功能,具体看这里 同样的最近有个新需求,需要将8.1 设备的来电功能和短信功能都屏蔽掉,特殊产品就是特殊定制,那就开始吧. 屏蔽短信功能 ...

  9. 通过STC15F2K60S2控制SIM900A发中英文短信,打电话

    本文通过串口通信,使用STC15系列单片机实现发短信打电话功能. 一. 注意事项 1. 首先要确定手机卡已经注册到网络,具备打电话发短信功能 2. 正确的硬件连接: P3.0-----STXD或者5V ...

随机推荐

  1. 多个.ui共用一个.qrc出错

    在一个已经组建完成的qt项目中,如果再加入新的界面文件,界面文件是无法直接使用原工程的.qrc文件的(执行添加资源操作时不显示资源文件),必须重启一次Qt. 版本: Qt 5.7.0 Qt Creat ...

  2. BZOJ 3771: Triple

    Description 问所有三/二/一元组可能形成的组合. Sol FFT. 利用生成函数直接FFT一下,然后就是计算,计算的时候简单的容斥一下. 任意三个-3*两个相同的+2*全部相同的+任意两个 ...

  3. BZOJ 3288: Mato矩阵

    Description 一个 \(n*n\) 行列式,\((i,j)=gcd(i,j)\) Sol 线性筛. 这道题神奇的筛出来 \(phi\) ... 打表可以发现,一个数会被他所有的因子减掉因子的 ...

  4. linux下编译gcc6.2.0

    linux下编译gcc6.2.0 在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8.官方源没有比较新的版本,于是自己编译使用. GCC6的几个新特性 GCC 6 ...

  5. tornado中将cookie值设置为json字符串

    不熟悉,找了很久,能FQ的话, https://groups.google.com/forum/#!topic/python-tornado/9Y--NgwjP_w 2楼有解释. tornado.es ...

  6. Mac 安装配置rz、sz

    在Iterm2中修改配置: 安装lrzsz brew install lrzsz 下载iterm2-zmodem cd /usr/local/bin sudo wget https://raw.git ...

  7. 实现放大转场动画 from cocoachina

    原文1:http://www.cocoachina.com/ios/20160318/15714.html 原文2:http://ningandjiao.iteye.com/blog/2049105 ...

  8. LeetCode 205 Isomorphic Strings

    Problem: Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if ...

  9. Buffer类

    输入流中可以通过缓冲区来加大读取的效率,sun公司感觉可以加快执行效率,他就为我们提供了一个类来操作缓存区. Buffer来头的类:所有缓冲流都是以Buffer开头的: 学习缓冲流的作用: Buffe ...

  10. C# List<T> 合并、去重、查找

    List<,,,,,}; List<,,,,}; listA.AddRange(listB );//把集合A.B合并 List<int> Result = listA.Unio ...