模板:tire 复杂度:O(nlogn)
143. 最大异或对

#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 100010, M = 31 * maxn;
int ch[maxn];
int n;
int son[M][2], idx = 0;
void insert(int x)
{int p = 0;for (int i = 30; ~i; i--){int u = x >> i & 1;if (!son[p][u])son[p][u] = ++idx;//如果没有就创建p = son[p][u];}
}
int search(int x)
{int p = 0;int ret = 0;for (int i=30;~i;i--){int u = x>>i&1;//二进制上某位是0还是1 if (!son[p][!u])//如果他的儿子没有不一样的{p = son[p][u];ret = ret*2+u;}else//有不一样的{p = son[p][!u];ret = ret*2+!u;}}ret = ret^x;return ret;
}
int main()
{int n;cin >> n;for (int i = 0; i < n; i++){cin >> ch[i];insert(ch[i]);}int res = 0;for (int i = 0; i < n; i++){res = max(res, search(ch[i]));}cout << res;
}

143. 最大异或对相关推荐

  1. AcWing 143. 最大异或对

    题目连接 https://www.acwing.com/problem/content/145/ 思路 贪心的想,如果我们想找到一个异或的最大值,那么我们肯定想每一位最好都是相反的,如果没有这样的情况 ...

  2. 143. 最大异或对【贪心 trie】

    贪心,尽可能走不同的路. #include<bits/stdc++.h> using namespace std; const int N=1e5+10; typedef long lon ...

  3. 0x16.基本数据结构 — Trie树(字典树)+ A C 自 动 机

    目录 用TrieTrieTrie树来处理整数异或问题是真的舒服! 一.TrieTrieTrie树 TrieTrieTrie的基本操作 0.初始化 1.插入 2.检索 二.TrieTrieTrie树例题 ...

  4. 0x10基本数据结构

    0x11 栈 栈是一种后进先出的线性数据结构 AcWing 41.包含min函数的栈 维护两个栈,一个记录栈的值,另一个单调栈,记录下当前的最小值即可 coding AcWing 128. 编辑器 开 ...

  5. ACM入门之【字典树/Trie】

    字典树,英文名 trie.顾名思义,就是一个像字典一样的树. 常用模板: const int N=1e5+10; //注意: N的大小是所有的字符串的总长度,因为最坏的情况下是一个字符就是一个结点 i ...

  6. 第二章 数据结构 【完结】

    栈那节表达式求值,并查集食物链还没做 堆,哈希表不熟,比赛的时候也很少遇到,故没有经常的练习. 目录 单链表[静态] 双链表[静态] 栈 队列 单调栈 单调队列 KMP Trie 并查集 堆 哈希表 ...

  7. AcWing基础算法课Level-2 第二讲 数据结构

    AcWing基础算法课Level-2 第二讲 数据结构 单链表 AcWing 826. 单链表3453人打卡 双链表 AcWing 827. 双链表2865人打卡 栈 AcWing 828. 模拟栈3 ...

  8. 算法基础课【合集1】

    文章目录 基础算法 785. 快速排序 786. 第k个数 787. 归并排序 788. 逆序对的数量 789. 数的范围 790. 数的三次方根 791. 高精度加法 792. 高精度减法 793. ...

  9. Acwing算法基础课学习笔记

    Acwing学习笔记 第一章 基础算法 快速排序 归并排序 二分查找 前缀和与差分 差分 位运算 离散化 第二章 数据结构 单链表 双链表 栈 队列 单调栈 单调队列 KMP算法 Trie 并查集 堆 ...

最新文章

  1. [JAVAEE] Thymeleaf 基本语法: 迭代循环
  2. 光储充一体化充电站_广东东莞首座光储充一体化智能充电站 “变废为宝”收益可观...
  3. InfluxData【付诸实践 01】SpringBoot 集成时序数据库 InfluxDB 应用分享(InfluxDB实例+Feign接口调用InfluxDB API)源码分享
  4. [转]SQL Server 2000执行计划成本(1/5)
  5. spring事务管理-xml配置aop事务(重点)
  6. 第12讲:Ajax 的原理和解析
  7. aliez歌词_Aliez歌词
  8. linux通过光盘安装命令包,RHEL5通过光盘配置本地yum仓库及命令详解
  9. java spring 下载文件_springboot下载文件(使用流)
  10. Mybatis中的resultType和resultMap
  11. 聚溶众星CEO朱纯仪:MCN一年营收2.5亿,带货才是直播的未来
  12. SSM面试题总结(含答案)
  13. 计算机基础(2)——重装系统(2)——win10(1)——MediaCreationTool制作WIN10安装U盘,安装纯净版win10的通用教程
  14. 138译码器的工作原理
  15. C语言的程序设计流程、特点及要求
  16. 申诉受理 - 工业和信息化部电信用户申诉受理中心 - PoweredCMSECMS
  17. 魔兽世界自建服务器,魔兽世界怀旧服
  18. Redis的攻击手法
  19. Kubernetes volumes简介
  20. 关于 public.resource.org

热门文章

  1. Re: 社团改革还让不让人活了?
  2. 删除sessionstorage_localStorage 和 sessionStorage 介绍
  3. 多线程创建方式 线程池、Future和CompletableFuture
  4. element-ui如何进行调试
  5. SQLServer 生成当前日期备份
  6. 四阶龙格积分法 matlab,matlab控制系统计算机仿真实验-完整版
  7. 关于云开发新服务“实时数据推送”,你需要了解的全在这了!
  8. 【Vue】【Router】手动跳转用 this.$router.push() 时 $router 未定义的问题
  9. 随手练——洛谷-P1008 / P1618 三连击(暴力搜索)
  10. N皇后问题12 · N-Queens