最大异或对 c++实现

cpp 复制代码
#include<iostream>
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<<i;
            p=son[p][!s];
        }
        else{
            p=son[p][s];
        }
    }
    return res;
}

int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
        insert(a[i]);
    }
    int res=0;
    for(int i=0;i<n;i++){
        res=max(res,query(a[i]));
    }
    printf("%d",res);
}
相关推荐
海洲探索-Hydrovo2 小时前
TTP Aether X 天通透传模块丨国产自主可控大数据双向通讯定位模组
网络·人工智能·科技·算法·信息与通信
ajassi20002 小时前
开源 C++ QT QML 开发(二十)多媒体--摄像头拍照
c++·qt·开源
_OP_CHEN2 小时前
C++基础:(十二)list类的基础使用
开发语言·数据结构·c++·stl·list类·list核心接口·list底层原理
2401_841495645 小时前
【计算机视觉】基于复杂环境下的车牌识别
人工智能·python·算法·计算机视觉·去噪·车牌识别·字符识别
Jonkin-Ma5 小时前
每日算法(1)之单链表
算法
晚风残5 小时前
【C++ Primer】第六章:函数
开发语言·c++·算法·c++ primer
杨云强5 小时前
离散积分,相同表达式数组和公式
算法
地平线开发者5 小时前
征程 6 | BPU trace 简介与实操
算法·自动驾驶
满天星83035775 小时前
【C++】AVL树的模拟实现
开发语言·c++·算法·stl
Lris-KK6 小时前
力扣Hot100--94.二叉树的中序遍历、144.二叉树的前序遍历、145.二叉树的后序遍历
python·算法·leetcode