最大异或对 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);
}
相关推荐
qianpeng897几秒前
运动声源的到达结构仿真
算法
费曼学习法5 分钟前
线段树:区间查询的"终极武器",一文看透高效范围统计
算法
wayz1112 分钟前
Day 2:线性回归原理与正则化
算法·机器学习·数据分析·回归·线性回归
QQ6765800823 分钟前
基于yolo26算法的水下目标检测图像数据集 海洋生物识别 海胆识别 海龟识别数据集 海洋生物监测与保护工作 潜水作业安全辅助系 水下环境感知第10408期
算法·目标检测·水下目标检测·海洋生物识别·海胆 海龟识别·海洋生物监测与保护工作·潜水作业安全辅助 水下环境感知
七颗糖很甜36 分钟前
基于 OpenCV 的 FY2 云顶图云块追踪算法实现
人工智能·opencv·算法
__Wedream__37 分钟前
NTIRE 2026 Challenge on Efficient Super-Resolution——冠军方案解读
人工智能·深度学习·算法·计算机视觉·超分辨率重建
yong158585534338 分钟前
Linux C++ 中的 volatile变量在多线程环境下进行运算的问题
c语言·c++
FL162386312941 分钟前
基于深度学习mediape实现人员跌倒人体姿势跌倒检测算法源码+说明文件
人工智能·深度学习·算法
wangwangmoon_light42 分钟前
1.23 LeetCode总结(树)_一般树
算法·leetcode·职场和发展
小肝一下43 分钟前
c++从入门到跑路——string类
开发语言·c++·职场和发展·string类