码迷,mamicode.com
首页 > 其他好文 > 详细

HEOI2013 ALO

时间:2019-05-23 00:27:12      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:mes   c代码   using   can   tps   持久化   turn   max   printf   

题目链接:戳我

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

其实我是暴力水过去的,,就从一个点开始,找它两边的数和它异或,不断更新答案。如果一侧找到第二个比它大的数,就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

标签:mes   c代码   using   can   tps   持久化   turn   max   printf   

原文地址:https://www.cnblogs.com/fengxunling/p/10909255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!