- #include
- using namespace std;
- const int N=100010,M=3000000;
- int n,idx;
- int son[M][2];
- int a[N];
-
- void insert(int x){
- int p=0;
- for(int i=30;~i;i--){
- int &s=son[p][x>>i&1];
- if(!s) s = ++idx;
- p=s;
- }
- }
-
- int query(int x){
- int res=0,p=0;
- for(int i=30;~i;i--){
- int s=x>>i&1;
- if(son[p][!s]){
- res += 1<
- p=son[p][!s];
- }
- else{
- p=son[p][s];
- }
- }
- return res;
- }
-
- int main(){
- scanf("%d",&n);
- for(int i=0;i
- scanf("%d",&a[i]);
- insert(a[i]);
- }
- int res=0;
- for(int i=0;i
- res=max(res,query(a[i]));
- }
- printf("%d",res);
- }
-
相关阅读:
电机的基础知识
【1314. 矩阵区域和】
5款提高工作效率的免费工具推荐
生产环境安装、配置、管理PostgreSQL数据库集群
2023NOIP A层联测27 A.kotori
Delphi记录
【SQL注入】(1)原理,框架
JavaScript--跟随pink老师视频学习版 (2022)
从零开始Blazor Server(6)--基于策略的权限验证
OpenSIPS 防扫描处理
-
原文地址:https://blog.csdn.net/zyang654321/article/details/133800220