最大异或对 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);
}
相关推荐
Tingmanyi3 分钟前
YOLOv13改进策略【卷积层篇】| RFAConv 感受野注意力卷积,每个位置都值得被单独加权
深度学习·算法·yolo·目标检测·计算机视觉
书生执笔画浮沉14 分钟前
Linux桌面端应用向鸿蒙PC迁移适配纪实
c++·qt·c·信创·海思·libc·ohos
(Charon)19 分钟前
【C++面试】单例模式:懒汉式与饿汉式的实现、区别与线程安全
开发语言·c++·面试
某不知名網友21 分钟前
ROS2入门:命令行启动节点与Launch程序
c++·机器人
yi01131 分钟前
Leetcode 49 用 “身份证‘‘巧解
人工智能·笔记·python·算法·leetcode·哈希表
liuchangng39 分钟前
类Jev项目Kev从入门到实战(7):如何选型:决策树与 checklist
算法·决策树·机器学习
小米里的大麦42 分钟前
C++ 移动语义
c++·后端
yi01143 分钟前
DAY22: LeetCode 733:图像渲染——从二维网格开始理解 DFS 和 BFS
数据结构·笔记·python·算法·leetcode·深度优先·宽度优先
jimy11 小时前
虚函数和 RTTI实现运行时多态
开发语言·c++
Pniubi1 小时前
力扣41缺失的第一个正数(哈希表法)
算法·leetcode·职场和发展