1 条题解
-
1赵青海 (huhe) LV 7 SU @ 2021-8-7 20:49:57
C++ :
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int n,ans; int trie[N*32][2],tot=1; inline void insert(int x){ int p=1; for(int i=30;i>=0;i--){ int u=(x>>i)&1; if(!trie[p][u]) trie[p][u]=++tot; p=trie[p][u]; } } inline int search(int x){ int p=1,res=0; for(int i=30;i>=0;i--){ int u=(x>>i)&1; if(trie[p][!u]){ p=trie[p][!u]; res+=(1<<i); } else p=trie[p][u]; } return res; } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n; while(n--){ int x; cin>>x; insert(x); ans=max(ans,search(x)); } cout<<ans<<endl; }
- 1
信息
- ID
- 54
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 145
- 已通过
- 66
- 上传者