3166: [Heoi2013]Alo 可持久化trie
来源:互联网 发布:手机4g网络信号差 编辑:程序博客网 时间:2024/06/08 07:15
又是数组开小了!
WC数组开小了丢了Ag!
前几天写高斯消元数组开小了各种WA!
今天写这裸题又是数组开小了各种WA!
4w数据拍到死没错,一到5w就跪了。好吧。
暴力找出左右比这个数大的位置然后可持久化trie找异或最大。
#include<iostream>#include<cstdio>#define inf 1000000007using namespace std;int n,ans,cnt,a[50005],tree[50005*35][2],sum[50005*35],root[50005];inline int read(){ int a=0,f=1; char c=getchar(); while (c<'0'||c>'9') {if (c=='-') f=-1; c=getchar();} while (c>='0'&&c<='9') {a=a*10+c-'0'; c=getchar();} return a*f;}inline int insert(int x,int val){ int tmp,y; tmp=y=++cnt; for (int i=30;~i;i--) { int t=val&(1<<i); t>>=i; tree[y][0]=tree[x][0]; tree[y][1]=tree[x][1]; x=tree[x][t]; y=tree[y][t]=++cnt; sum[y]=sum[x]+1; } return tmp;} inline int query(int x,int y,int val){ int tmp=0; for (int i=30;~i;i--) { int t=val&(1<<i); t>>=i; t^=1; if (sum[tree[y][t]]-sum[tree[x][t]]) x=tree[x][t],y=tree[y][t],tmp|=(1<<i); else x=tree[x][t^1],y=tree[y][t^1]; } return tmp;}int main(){// freopen("txt.in","r",stdin); n=read(); for (int i=1;i<=n;i++) { a[i]=read(); root[i]=insert(root[i-1],a[i]); } a[0]=inf; a[n+1]=inf; for (int i=1;i<=n;i++) { int l=i,r=i,ll,rr; while (a[l-1]<a[i]) l--; while (a[r+1]<a[i]) r++; l--; r++; ll=l; rr=r; if (ll) while (a[ll-1]<a[i]) ll--; if (rr<=n) while (a[rr+1]<a[i]) rr++; if (l==0||r==n+1) { if (l==0&&r==n+1) continue; if (l==0) ans=max(ans,query(root[0],root[rr],a[i])); if (r==n+1) ans=max(ans,query(root[ll-1],root[n],a[i])); } else { ans=max(ans,query(root[l],root[rr],a[i])); ans=max(ans,query(root[ll-1],root[r-1],a[i])); } } cout << ans << endl; return 0;}
0 0
- 3166: [Heoi2013]Alo 可持久化trie
- BZOJ3166 [Heoi2013]Alo 可持久化Trie
- 可持久化01Trie [Heoi2013]Alo
- bzoj 3166: [Heoi2013]Alo 可持久化trie
- BZOJ 3166 HEOI2013 Alo 可持久化Trie树
- BZOJ 3166: [Heoi2013]Alo|可持久化Trie树
- bzoj 3166 [Heoi2013]Alo 可持久化trie 线段树
- 【BZOJ 3166】[Heoi2013]Alo 可持久化trie树+set
- 【BZOJ】【P3166】【Heoi2013】【Alo】【题解】【可持久化Trie+set】
- 【bzoj3166】【HEOI2013】【Alo】【set+可持久化trie】
- bzoj 3166: [Heoi2013]Alo (可持久化trie+线段树)
- [可持久化字典树 set] BZOJ 3166 [Heoi2013]Alo
- bzoj 3166 [Heoi2013]Alo 可持久化字典树
- BZOJ 3166: [Heoi2013]Alo 可持久化字典树
- [BZOJ3166][Heoi2013]Alo(可持久化线段树+可持久化tire树)
- bzoj 3166: [Heoi2013]Alo
- 3166: [Heoi2013]Alo
- BZOJ 3166 [Heoi2013]Alo
- 73. Set Matrix Zeroes
- 【10】RatingBar——星级评分条
- Hadoop 二次排序
- USACO 2.1 graph
- SDUT_2141_数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 3166: [Heoi2013]Alo 可持久化trie
- 33. Search in Rotated Sorted Array
- 关于排名系统的研究
- 微信背后的产品观---张小龙内部8小时演讲
- 欢迎使用CSDN-markdown编辑器
- JAVA的包装类
- 【11】Spinner
- Win10输入法无法选择,右下角出现叉号,提示IME被禁用
- Android 内存泄露