BZOJ 3261: 最大异或和|可持久化Tire树
来源:互联网 发布:edius有mac版吗 编辑:程序博客网 时间:2024/06/14 23:05
设
数组开的一定要够大,1000W还是会跪!!!!
#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<queue>#include<vector>#include<set>#include<map>#include<iostream>#include<algorithm>#define mx 1e9#define lowbit(x) (x&(-x))#define N 505using namespace std;int sc(){ int i=0,f=1; char c=getchar(); while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9')i=i*10+c-'0',c=getchar(); return i*f;}int ch[14000050][2],sum[14000050];int v[600066],root[600066];int n,cnt,Sum,m;void add(int pre,int &x,int w,int k){ if(!x)x=++cnt; sum[x]=sum[pre]+1; if(!k)return; bool e=(w&k); ch[x][!e]=ch[pre][!e]; add(ch[pre][e],ch[x][e],w,k>>1);}int ask(int l,int r,int x){ int k=1<<24,ans=0; while(k) { bool e=!(x&k); if(sum[ch[r][e]]-sum[ch[l][e]]) ans+=k,r=ch[r][e],l=ch[l][e]; else r=ch[r][!e],l=ch[l][!e]; k>>=1; } return ans;}int main(){ n=sc()+1;m=sc();v[1]=0; for(int i=2;i<=n;i++)v[i]=v[i-1]^sc(); for(int i=1;i<=n;i++) add(root[i-1],root[i],v[i],1<<24); for(int i=1;i<=m;i++) { char s[10]; scanf("%s",s); if(s[0]=='A') ++n,v[n]=v[n-1]^sc(), add(root[n-1],root[n],v[n],1<<24); else { int l=sc()-1,r=sc(),x=sc()^v[n]; printf("%d\n",ask(root[l],root[r],x)); } } return 0;}
0 0
- BZOJ 3261: 最大异或和|可持久化Tire树
- BZOJ 3261 最大异或和 可持久化Trie
- BZOJ 3261 最大异或和 可持久化Trie
- [BZOJ]3261: 最大异或和 可持久化Trie
- bzoj 3261 最大异或和 可持久化trie树
- BZOJ 3261 最大异或和 可持久化Trie树
- [可持久化字典树] BZOJ 3261 最大异或和
- bzoj 3261最大异或和 可持久化字典树
- bzoj 3261: 最大异或和 可持久化字典树
- [BZOJ 3261]最大异或和:可持久化字典树
- BZOJ 3261: 最大异或和 可持久化字典树
- BZOJ 3261 浅谈可持久化TRIE树最大连续异或和
- BZOJ 3261 最大异或和 && qwb VS 去污棒(可持久化01Trie)
- bzoj 3166 可持久化Tire
- 3261: 最大异或和 可持久化trie
- 【BZOJ3261】最大异或和【可持久化Trie树】
- bzoj3261 最大异或和(可持久化字典树)
- BZOJ3261最大异或和(可持久化字典树)
- 有关l2,1范数作用的理解
- css之几个细节
- codeforces 618d 搜索
- bzoj1208[HDOI2004] 宠物收养所
- hdu1507Uncle Tom's Inherited Land*
- BZOJ 3261: 最大异或和|可持久化Tire树
- 魔兽争霸 / 星际争霸 无法使用 CTRL + 1 进行编队
- 欢迎使用CSDN-markdown编辑器
- 网站性能优化的35条黄金守则
- linux platform_devices platform_driver platform_resource 的使用
- Spark MLlib 1.6 -- 统计基础篇
- hdu1045Fire Net
- 插入排序insertionSort
- 【opencv】图像平滑处理