洛谷P4735 最大异或和
Posted 你来看此花时
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洛谷P4735 最大异或和相关的知识,希望对你有一定的参考价值。
电脑从拯救者y7000p 2019换到了m1 air,不想在m1上再折腾一遍hexo,索性就用cnblog了...
信誓旦旦的学了可持久化Trie和01Trie来搞,结果出了一点问题,被卡了好久
先随便糊了一个暴力,用pre记一下异或前缀和,这么裸的一个暴力居然给了73分,11个点wa了3个点,
#include <bits/stdc++.h>
using namespace std;
int Xor=0;
int n,m;
int a[600010],pre[600010];
inline int read()
int x=0,f=1; char ch=getchar();
while(ch<\'0\'||ch>\'9\') f=(ch==\'-\')?-1:1,ch=getchar();
while(ch<=\'9\'&&ch>=\'0\') x=(x<<3)+(x<<1)+(ch-\'0\'),ch=getchar();
return x*f;
int main()
n=read(),m=read();
for (int i=1;i<=n;i++)
cin>>a[i]; Xor^=a[i];
pre[i]=pre[i-1]^a[i];
char op;
int l,r,x;
for (int i=1;i<=m;i++)
cin>>op;
if(op==\'A\')
x=read();
a[++n]=x;
Xor^=x;
pre[n]=pre[n-1]^x;
else
int Max=0;
l=read(), r=read(), x=read();
for (int i=l; i<=r; i++)
Max=max(Max,pre[i-1]^Xor^x);
cout<<Max<<endl;
return 0;
以上是关于洛谷P4735 最大异或和的主要内容,如果未能解决你的问题,请参考以下文章