太抽象了
  • 板块P4098 [HEOI2013] ALO
  • 楼主hegm
  • 当前回复9
  • 已保存回复9
  • 发布时间2023/2/15 09:13
  • 上次更新2023/10/24 00:44:54
查看原帖
太抽象了
331947
hegm楼主2023/2/15 09:13

本来会做了但是懒得写,结果发现题解里有说暴力 n2n^2 能过,于是好奇的尝试了下,结果。。。。。

最优解

管理员不考虑改改数据?

代码

#include<bits/stdc++.h>
#define N 10000006
using namespace std;
int read()
{
	int x=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}
int a[N],ans,n;
int main()
{
	n=read();
	for(int i=1;i<=n;i++)a[i]=read();
	for(int i=1;i<=n;i++)
	{
		int tg=0,awa=0;
		for(int j=i-1;j>=1;j--)
		{
			if(a[j]>a[i])
			{
				if(!tg)tg=1;
				else break;
			}
			awa=max(awa,a[i]^a[j]);
		}
		if(tg)ans=max(ans,awa);
		tg=0,awa=0;
		for(int j=i+1;j<=n;j++)
		{
			if(a[j]>a[i])
			{
				if(!tg)tg=1;
				else break;
			}
			awa=max(awa,a[i]^a[j]);
		}
		if(tg)ans=max(ans,awa);
	}
	cout<<ans<<"\n";
	return 0;
}
2023/2/15 09:13
加载中...