51Nod--1295 XOR key (可持久化tire树)
题目链接 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树)的更多相关文章
- 51nod 1295 XOR key | 可持久化Trie树
51nod 1295 XOR key 这也是很久以前就想做的一道板子题了--学了一点可持久化之后我终于会做这道题了! 给出一个长度为N的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X ...
- 51nod 1295 XOR key (可持久化Trie树)
1295 XOR key 题目来源: HackerRank 基准时间限制:1.5 秒 空间限制:262144 KB 分值: 160 难度:6级算法题 给出一个长度为N的正整数数组A,再给出Q个查 ...
- [多校联考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] ...
- 51nod 1295 XOR key 可持久化01字典树
题意 给出一个长度为\(n\)的正整数数组\(a\),再给出\(q\)个询问,每次询问给出3个数,\(L,R,X(L<=R)\).求\(a[L]\)至\(a[R]\)这\(R-L+1\)个数中, ...
- 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] ...
- 51nod1295 XOR key(可持久化trie)
1295 XOR key题目来源: HackerRank基准时间限制:1.5 秒 空间限制:262144 KB 分值: 160 难度:6级算法题 给出一个长度为N的正整数数组A,再给出Q个查询,每个查 ...
- BZOJ5338 [TJOI2018] Xor 【可持久化Trie树】【dfs序】
题目分析: 很无聊的一道题目.首先区间内单点对应异或值的询问容易想到trie树.由于题目在树上进行,case1将路径分成两段,然后dfs的时候顺便可持久化trie树做询问.case2维护dfs序,对d ...
- 51Nod XOR key —— 区间最大异或值 可持久化字典树
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1295 1295 XOR key 题目来源: HackerRa ...
- 51nod1295 XOR key
第一次写可持久化trie指针版我... //Null 的正确姿势终于学会啦qaq... #include<cstdio> #include<cstring> #include& ...
随机推荐
- Bootstrap知识记录:表单和图片
一.表单Bootstrap 提供了一些丰富的表单样式供开发者使用.1.基本格式//实现基本的表单样式<form><div class="form-group"&g ...
- [转帖]CS、IP和PC寄存器
https://www.cnblogs.com/zhuge2018/p/8466288.html 之前的理解不对 当然了 现在的理解也不太对.. CS.IP和PC寄存器 CS寄存器和IP寄存器: 首先 ...
- embed标签的flash层级太高问题
因为客户要求,项目得兼容IE的兼容模式 页面到了flash都会遮挡底部悬浮的导航. 改变浮动窗口和embed的层级还是不可以.应该不是层级的关系. 最后百度解决方案:在embed标签内添加了wmode ...
- 名称空间2.0path
Django 1点几跟2点几的区别 2.0path 是什么路径就是什么路径.第一个参数不再是正则表达式. 转换器 path的分组 <int:year> 匹配正整数 <str:year ...
- python爬虫scrapy之如何同时执行多个scrapy爬行任务
背景: 刚开始学习scrapy爬虫框架的时候,就在想如果我在服务器上执行一个爬虫任务的话,还说的过去.但是我不能每个爬虫任务就新建一个项目吧.例如我建立了一个知乎的爬行任务,但是我在这个爬行任务中,写 ...
- spring 启动脚本分析
参考:JVM 参数使用总结 参考:java -Xms -Xmx -XX:PermSize -XX:MaxPermSize 参考:JVM调优总结 -Xms -Xmx -Xmn -Xss 参考:JAVA ...
- Chrome & QR Code Reader
Chrome & QR Code Reader Allows to generate a QR Code for the current page and scan a QR Code usi ...
- Python——Flask框架——模板
一.渲染模板 render_template 函数把Jinja2模板引擎集成到程序中 二.Jinja2变量过滤器 过滤器名 说明 safe 渲染值是不转义 capitalize 把值得首字母转换成大写 ...
- sun.misc.BASE64Encoder----》找不到jar包的解决方法
1.右键项目->属性->java bulid path->jre System Library->access rules->resolution选择accessible ...
- nargin
nargin 编辑 nargin为“number of input arguments”的缩写. 在matlab中定义一个函数时, 在函数体内部, nargin是用来判断输入变量个数的函数.在matl ...