题目链接 1295 XOR key

可持久化tire树模版题

数组一定要开够 不然数组不够的话就容易tle 吃了两次亏

#include<bits/stdc++.h>
using namespace std;
#define maxn 500000
#define LL long long
struct ac{
   LL sum,nex[];
   void init(){
      sum=;
      memset(nex,,sizeof(nex));
   }
}tre[maxn*];
LL tot,root[maxn];
void init(){
   memset(tre,,sizeof(tre));
   tot=;
   memset(root,,sizeof(root));
}
void add(LL x,LL y,LL &z){
   z=++tot;
   tre[z].init();
   tre[z].sum=tre[y].sum+;
   LL k=z;
   ;j>=;j--){
      <<j)&x);
      tre[k].nex[fa^]=tre[y].nex[fa^];
      tre[k].nex[fa]=++tot;
      k=tot;
      y=tre[y].nex[fa];
      tre[k].sum=tre[y].sum+;
   }
}
LL query(LL l,LL r,LL x){
   LL ans=;
   ;j>=;j--){
      <<j)&x);
      LL ll=tre[l].nex[fa^];
      LL rr=tre[r].nex[fa^];
      LL z=tre[rr].sum-tre[ll].sum;
      if(z){
         ans+=1LL*<<j;
         l=ll,r=rr;
      }else{
         l=tre[l].nex[fa];
         r=tre[r].nex[fa];
      }

   }
   return ans;
}
int main(){
   LL n,m;
   cin>>n>>m;
   init();
   ;j<=n;j++){
      long long x;
      scanf("%lld",&x);
      add(x,root[j-],root[j]);
   }
   ;j<=m;j++){
       LL l,r,x;
       scanf("%lld%lld%lld",&x,&l,&r);
       printf(],x));
   }
}

51Nod--1295 XOR key (可持久化tire树)的更多相关文章

  1. 51nod 1295 XOR key | 可持久化Trie树

    51nod 1295 XOR key 这也是很久以前就想做的一道板子题了--学了一点可持久化之后我终于会做这道题了! 给出一个长度为N的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X ...

  2. 51nod 1295 XOR key (可持久化Trie树)

    1295 XOR key  题目来源: HackerRank 基准时间限制:1.5 秒 空间限制:262144 KB 分值: 160 难度:6级算法题   给出一个长度为N的正整数数组A,再给出Q个查 ...

  3. [多校联考2019(Round 4 T1)][51nod 1295]Xor key(可持久化trie)

    [51nod 1295]Xor key(可持久化trie) 题面 给出一个长度为n的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X (L <= R).求A[L] 至 A[R] ...

  4. 51nod 1295 XOR key 可持久化01字典树

    题意 给出一个长度为\(n\)的正整数数组\(a\),再给出\(q\)个询问,每次询问给出3个数,\(L,R,X(L<=R)\).求\(a[L]\)至\(a[R]\)这\(R-L+1\)个数中, ...

  5. 51nod 1295 XOR key-区间异或最大值-可持久化01Trie树(模板)

    1295 XOR key 2 秒 262,144 KB 160 分 6 级题   给出一个长度为N的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X (L <= R).求A[L] ...

  6. 51nod1295 XOR key(可持久化trie)

    1295 XOR key题目来源: HackerRank基准时间限制:1.5 秒 空间限制:262144 KB 分值: 160 难度:6级算法题 给出一个长度为N的正整数数组A,再给出Q个查询,每个查 ...

  7. BZOJ5338 [TJOI2018] Xor 【可持久化Trie树】【dfs序】

    题目分析: 很无聊的一道题目.首先区间内单点对应异或值的询问容易想到trie树.由于题目在树上进行,case1将路径分成两段,然后dfs的时候顺便可持久化trie树做询问.case2维护dfs序,对d ...

  8. 51Nod XOR key —— 区间最大异或值 可持久化字典树

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1295 1295 XOR key  题目来源: HackerRa ...

  9. 51nod1295 XOR key

    第一次写可持久化trie指针版我... //Null 的正确姿势终于学会啦qaq... #include<cstdio> #include<cstring> #include& ...

随机推荐

  1. fork分支与源分支同步代码

    最进软件工程课程要团队开发做个网站项目,于是我在团队里推了使用github这种网站来协同开发,但是出现了个问题:fork后的代码无法 与源分支代码同步,导致fork分支的代码只有自己写的那部分,而不是 ...

  2. [转帖]Htop 使用详解

    htop使用详解 https://www.cnblogs.com/yqsun/p/5396363.html 一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件H ...

  3. Button按钮为什么无缘无故会提交form表单?

    我的form表单里有好几个Button按钮,每个按钮有不同的功能,可是这些按钮居然都有提交功能,真是把我惊呆了 <button class="btn btn-info " o ...

  4. Spring boot + mybatis + orcale实战(干货)

    废话少说,直接上步骤: 第一步:安装好IDEA(此处省略) 第二步:在IDEA新建springboot工程 第三步:在springboot工程的pom.xml添加oracle和mybait依赖 < ...

  5. jenkins插件findbugs+pmd+checkstyle结合sonar与maven(java环境代码质量和代码规范管理)

    一.下载jdk并安装(最好jdk官网下载解压安装的) 二.下载maven并安装maven 三.安装jenkins及插件 安装checkstyle.pmd.findbugs.maven.sonar等相关 ...

  6. 开机自动获取spark用户名和服务器

    import os.path import getpass import platform import time username = getpass.getuser() #获取当前用户名 home ...

  7. 在Mac 系统上使用MAMP搭建PHP开发环境

    1.下载MAMP套件 下载地址为https://www.mamp.info/en/ 2.安装此.dmg文件 3.配置apache虚拟主机 (1)在/Applications/MAMP/conf/apa ...

  8. Python学习之路——day05

    今日内容:1.可变与不可变类型:可变类型:值可以改变,但是id不变,证明就是在改变原值,是可变类型不可变类型:值改变,但是id也跟着改变,证明是残生了新的值,是不可变类型 2.数字类型2.1整型:记录 ...

  9. How to convert mkv to mp4 lossless

    ffmpeg -i example.mkv -vcodec copy -acodec copy example.mp4

  10. How to blog on Github

    git clone https://github.com/test/test.github.io.git cd ~/test.github.io git config --global push.de ...