最大异或对 The XOR Largest Pair

news/2025/3/29 5:21:16/

题目来自洛谷网站:

思路:

两个循环时间复杂度太高了,会超时。
我们可以先将读入的数字,插入到字典树中,从高位到低位。对每个数查询的时候,题目要求是最大的异或对,所以我们选择相反的路径,构造最大异或值。

代码:

#include<bits/stdc++.h>
using namespace std;
const int N = 100010;int n;
int arr[N];
int ch[N*31][2], idx;//idx给树上每个节点一个编号void trie(int x){int p = 0;//p是当前走到了哪个节点编号for(int i = 30; i >= 0; i--){//取出最后一个数字//判断0 1int j = x>>i&1;if(!ch[p][j]) ch[p][j] = ++idx;p = ch[p][j];}
}int query(int x){int p = 0, res = 0;for(int i = 30; i >= 0; i--){int j = x>>i&1;//相反的一边if(ch[p][!j]){res += 1<<i;p = ch[p][!j];}else p = ch[p][j];}return res;
}int main(){cin >> n;for(int i = 1; i<=n; i++){cin >> arr[i];trie(arr[i]);}int ans = -1;for(int i = 1; i<=n; i++){ans = max(ans, query(arr[i]));}cout << ans << endl;return 0;
}


http://www.ppmy.cn/news/1583305.html

相关文章

Spring MVC:关于@PostMapping和@GetMapping的使用场景、区别及核心要点的总结

关于 PostMapping 和 GetMapping 的使用场景、区别及核心要点的总结&#xff1a; 一、核心区别 特性GetMappingPostMappingHTTP 方法处理 GET 请求处理 POST 请求数据传输方式数据通过 URL 参数&#xff08;如查询参数&#xff09;传递数据通过 请求体&#xff08;Body&#…

【ES】深度分页

1. ES查询流程 ES的结构可以简化为协调节点(Coordination g Node)&#xff0c;与数据节点(Data Node)。协调节点将请求转发给数据节点&#xff0c;数据节点返回满足条件的TopN文档信息(至少包含id&#xff0c;score)。协调节点从k*TopN的文档信息中选出最终的TopN的结果的id发…

OpenCV图像拼接(3)图像拼接类cv::detail::MultiBandBlender

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::detail::MultiBandBlender 是 OpenCV 中用于图像拼接&#xff08;stitching&#xff09;模块的一个类&#xff0c;主要用于将多张重叠的图像…

工欲善其事必先利其器————idea插件

文章目录 前言1、CodeGlance&#xff1a;2、Key Promoter X&#xff1a;3、Lombok&#xff1a;4、Maven Helper&#xff1a;5、Save Actions&#xff1a;6、String Manipulation&#xff1a;7、Rainbow Brackets&#xff1a;8、PlantUML Integration&#xff1a;9、Ideolog&…

SQL Server 数据库迁移到 MySQL 的完整指南

文章目录 引言一、迁移前的准备工作 1.1 确定迁移范围1.2 评估兼容性1.3 备份数据 二、迁移工具的选择 2.1 使用 MySQL Workbench2.2 使用第三方工具2.3 手动迁移 三、迁移步骤 3.1 导出 SQL Server 数据库结构3.2 转换数据类型和语法3.3 导入 MySQL 数据库3.4 迁移数据3.5 迁…

YAML是什么?

YAML&#xff08;YAML Ain’t Markup Language&#xff09;是一种以数据为中心、高度可读的序列化语言&#xff0c;广泛应用于配置文件、数据交换和自动化工具中。以下从多个维度对其进行全面解析&#xff1a; 1. 定义与历史演变 全称与定位&#xff1a; YAML的全称最初为“Yet…

uv - pip 接口

文章目录 pip 接口Python 环境创建虚拟环境使用虚拟环境关闭环境使用任意的 Python 环境 管理软件包安装一个包可编辑包从文件安装包卸载一个包 检查环境列出已安装的包检查一个包验证环境 声明依赖使用 pyproject.toml使用 requirements.in 锁定环境锁定要求升级要求同步环境添…

记录firefly的3566-sdk的下载及解压更新

文章目录 &#xff08;一&#xff09;下载及解压&#xff08;二&#xff09;还原仓库1. 检查.git 目录的内容&#xff0c;确保包含 objects、refs 等子目录。2. 在.git目录的父目录下&#xff0c;创建一个新的工作目录。该命令将创建一个新的分支&#xff0c;并尝试检出最新的提…