题目链接 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. composer 自动加载类 通过psr

    项目地址  git@github.com:brady-wang/composer.git "autoload":{ "classmap":[ "Lib ...

  2. [转帖]Introduction to text manipulation on UNIX-based systems

    Introduction to text manipulation on UNIX-based systems https://www.ibm.com/developerworks/aix/libra ...

  3. [转帖]一键获取 所有连接过的wifi 密码

    cmd 一键获取 所有连接过的wifi 密码 转帖来源: http://www.cnblogs.com/hookjoy/p/5537623.html for /f "skip=9 token ...

  4. day 7-22 进程,线程,协程

    一.什么是进程 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理 ...

  5. 判断浏览器是否支持H5

    window.onload = function() { if (!window.applicationCache) { alert("请升级您的浏览器版本,你的浏览器不支持HTML5!&q ...

  6. 莫烦scikit-learn学习自修第二天【算法地图】

    1. 算法地图

  7. SQL之CASE WHEN用法详解[1]

    简单CASE WHEN函数: CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' END CASE SCORE WHEN 'B' THEN '良' ELSE '不及格' E ...

  8. Linux下 rewrite_mod 的配置

    以下使用最新的 Ubuntu 16.04 测试; 安装好apache后先确认有没有rewrite模块,大多数情况下是有的:ls /etc/apache2/mods-available |grep re ...

  9. oracle判断是否包含字符串的方法

    首先想到的就是contains,contains用法如下: select * from students where contains(address,  ‘beijing’) 但是,使用contai ...

  10. Web API 2 使用SSL

    在Server上启用SSL 稍后我会想在IIS 7 上配置SSL,现在先往下看. 本地测试,您可以启用SSL的IIS Express Visual Studio.在属性窗口中,启用SSL设置为True ...