题目描述

在给定的 N 个整数 A1,A2,…,AN 中选出两个进行异或运算,得到的结果最大是多少?

输入格式

第一行一个整数 N。

第二行 N 个整数 Ai。

输出格式

一个整数表示答案。

样例

输入

5
2 9 5 7 0

输出

14

 1 #include <iostream>
2 using namespace std;
3 int n;
4 const int N = 1e5 + 5;
5 int a[N];
6 int son[N * 35][3], cnt[N * 35];
7 int idx;
8
9 void insert(int x) {
10 int p = 0;
11
12 for (int i = 30; i >= 0; i--) {
13 int u = (x >> i) & 1;
14
15 if (!son[p][u])
16 son[p][u] = ++idx;
17
18 p = son[p][u];
19 }
20
21 cnt[p] = x;
22 }
23
24 int query(int x) {
25 int p = 0;
26 int ans = 0;
27
28 for (int i = 30; i >= 0; i--) {
29 int u = (x >> i) & 1;
30
31 if (son[p][u ^ 1]) {
32 ans += 1 << i;
33 p = son[p][u ^ 1];
34 } else
35 p = son[p][u];
36 }
37
38 return ans;
39 }
40
41 int main() {
42 scanf("%d", &n);
43 int res = 0;
44
45 for (int i = 1; i <= n; i++)
46 scanf("%d", &a[i]), insert(a[i]);
47
48 for (int i = 1; i <= n; i++) {
49 int t = query(a[i]);
50
51 if (t > res)
52 res = t;
53 }
54
55 cout << res << '\n';
56 return 0;
57 }

最新文章

  1. 为C# as 类型转换及Assembly.LoadFrom埋坑!
  2. Retina视网膜屏中CSS3边框图片像素虚边的问题
  3. 蓝桥杯 算法训练 区间k大数查询(水题)
  4. 【转】MYSQL入门学习之四:MYSQL的数据类型
  5. lua进阶(二)
  6. Linux下的bc计算器
  7. ci 的控制器文件夹下开加子文件夹
  8. AngularJS框架速写
  9. Arcgis for js开发之直线、圆、箭头、多边形、集结地等绘制方法
  10. Android 简单登陆 涉及 Button CheckBox TextView EditText简单应用
  11. 秘密袭击 [BZOJ5250] [树形DP]
  12. elasticsearch在CentOS环境下开机启动
  13. [jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)
  14. POJ 2676 Sudoku (数独 DFS)
  15. python中的struct模块
  16. linux手工释放内存
  17. python之路----面向对象进阶一
  18. iosFQ教程
  19. 解析xml文件步骤 -- pullparser
  20. excel 应用,右下角的小十字拖拽的时候形成递减的数列

热门文章

  1. Jenkins+SpringCloud(多模块)+Vue项目详细配置
  2. Swift中的Result 类型的简单介绍
  3. docker注册中心相关操作
  4. Kingbase V8R6集群安装部署案例---脚本在线一键扩容
  5. KingbaseES V8R6 集群环境wal日志清理
  6. KingbaseES 数据库Windows环境下注册数据库服务
  7. Linux_etc-shadow文件总结
  8. OpenDataV低代码平台新增组件流程
  9. 【Java UI】HarmonyOS添加日历事件
  10. 聊聊asp.net core 授权流程