143. 最大异或对
模板: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. 最大异或对相关推荐
- AcWing 143. 最大异或对
题目连接 https://www.acwing.com/problem/content/145/ 思路 贪心的想,如果我们想找到一个异或的最大值,那么我们肯定想每一位最好都是相反的,如果没有这样的情况 ...
- 143. 最大异或对【贪心 trie】
贪心,尽可能走不同的路. #include<bits/stdc++.h> using namespace std; const int N=1e5+10; typedef long lon ...
- 0x16.基本数据结构 — Trie树(字典树)+ A C 自 动 机
目录 用TrieTrieTrie树来处理整数异或问题是真的舒服! 一.TrieTrieTrie树 TrieTrieTrie的基本操作 0.初始化 1.插入 2.检索 二.TrieTrieTrie树例题 ...
- 0x10基本数据结构
0x11 栈 栈是一种后进先出的线性数据结构 AcWing 41.包含min函数的栈 维护两个栈,一个记录栈的值,另一个单调栈,记录下当前的最小值即可 coding AcWing 128. 编辑器 开 ...
- ACM入门之【字典树/Trie】
字典树,英文名 trie.顾名思义,就是一个像字典一样的树. 常用模板: const int N=1e5+10; //注意: N的大小是所有的字符串的总长度,因为最坏的情况下是一个字符就是一个结点 i ...
- 第二章 数据结构 【完结】
栈那节表达式求值,并查集食物链还没做 堆,哈希表不熟,比赛的时候也很少遇到,故没有经常的练习. 目录 单链表[静态] 双链表[静态] 栈 队列 单调栈 单调队列 KMP Trie 并查集 堆 哈希表 ...
- AcWing基础算法课Level-2 第二讲 数据结构
AcWing基础算法课Level-2 第二讲 数据结构 单链表 AcWing 826. 单链表3453人打卡 双链表 AcWing 827. 双链表2865人打卡 栈 AcWing 828. 模拟栈3 ...
- 算法基础课【合集1】
文章目录 基础算法 785. 快速排序 786. 第k个数 787. 归并排序 788. 逆序对的数量 789. 数的范围 790. 数的三次方根 791. 高精度加法 792. 高精度减法 793. ...
- Acwing算法基础课学习笔记
Acwing学习笔记 第一章 基础算法 快速排序 归并排序 二分查找 前缀和与差分 差分 位运算 离散化 第二章 数据结构 单链表 双链表 栈 队列 单调栈 单调队列 KMP算法 Trie 并查集 堆 ...
最新文章
- [JAVAEE] Thymeleaf 基本语法: 迭代循环
- 光储充一体化充电站_广东东莞首座光储充一体化智能充电站 “变废为宝”收益可观...
- InfluxData【付诸实践 01】SpringBoot 集成时序数据库 InfluxDB 应用分享(InfluxDB实例+Feign接口调用InfluxDB API)源码分享
- [转]SQL Server 2000执行计划成本(1/5)
- spring事务管理-xml配置aop事务(重点)
- 第12讲:Ajax 的原理和解析
- aliez歌词_Aliez歌词
- linux通过光盘安装命令包,RHEL5通过光盘配置本地yum仓库及命令详解
- java spring 下载文件_springboot下载文件(使用流)
- Mybatis中的resultType和resultMap
- 聚溶众星CEO朱纯仪:MCN一年营收2.5亿,带货才是直播的未来
- SSM面试题总结(含答案)
- 计算机基础(2)——重装系统(2)——win10(1)——MediaCreationTool制作WIN10安装U盘,安装纯净版win10的通用教程
- 138译码器的工作原理
- C语言的程序设计流程、特点及要求
- 申诉受理 - 工业和信息化部电信用户申诉受理中心 - PoweredCMSECMS
- 魔兽世界自建服务器,魔兽世界怀旧服
- Redis的攻击手法
- Kubernetes volumes简介
- 关于 public.resource.org
热门文章
- Re: 社团改革还让不让人活了?
- 删除sessionstorage_localStorage 和 sessionStorage 介绍
- 多线程创建方式 线程池、Future和CompletableFuture
- element-ui如何进行调试
- SQLServer 生成当前日期备份
- 四阶龙格积分法 matlab,matlab控制系统计算机仿真实验-完整版
- 关于云开发新服务“实时数据推送”,你需要了解的全在这了!
- 【Vue】【Router】手动跳转用 this.$router.push() 时 $router 未定义的问题
- 随手练——洛谷-P1008 / P1618 三连击(暴力搜索)
- N皇后问题12 · N-Queens