HEOI2013 ALO

Posted fengxunling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HEOI2013 ALO相关的知识,希望对你有一定的参考价值。

题目链接:戳我

我竟然还有脸发出这样一篇题解.......

其实我是暴力水过去的,,就从一个点开始,找它两边的数和它异或,不断更新答案。如果一侧找到第二个比它大的数,就break掉......

正解是可持久化01trie,但是我写出锅了,正在咕咕咕,写出来了之后一定update

暴力AC代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define MAXN 100010
using namespace std;
int n,ans;
int a[MAXN];
inline void solve(int x)
{
    int cur_ans=0,cnt;
    cnt=0;
    for(int i=x-1;i>=1;i--)
    {
        if(cnt>1) break;
        if(a[i]>a[x]) cnt++;
        cur_ans=max(cur_ans,a[i]^a[x]);
    }
    cnt=0;
    for(int i=x+1;i<=n;i++)
    {
        if(cnt>1) break;
        if(a[i]>a[x]) cnt++;
        cur_ans=max(cur_ans,a[i]^a[x]);
    }
    ans=max(ans,cur_ans);
}
int main()
{
    #ifndef ONLINE_JUDGE
    freopen("ce.in","r",stdin);
    #endif
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    for(int i=1;i<=n;i++) solve(i);
    printf("%d\n",ans);
    return 0;
}

以上是关于HEOI2013 ALO的主要内容,如果未能解决你的问题,请参考以下文章

Bzoj 3166 [Heoi2013] Alo 题解

P4098 [HEOI2013]ALO

bzoj3166[HEOI2013]ALO

luoguP4098「HEOI2013」ALO

bzoj3166: [Heoi2013]Alo 可持久化字典树

P4098 [HEOI2013]ALO 可持久化01Trie