loj#10050-The XOR Largest Pair【Trie(字典树)】
正题
题目链接:https://loj.ac/problem/10050
题目大意
有n个数,求两个数使他们异或起来最大。
解题思路
我们考虑构建一个TrieTrieTrie。
两个分叉为0,1,对于每个数二进制下不够30位我们将其补够30位,然后再根据二进制01构建TrieTrieTrie。
然后我们再次枚举一边,然后依旧是补位转二进制,然后每次尽量走反方向的边,在路上统计一下,取最小值就是答案。
code
#include<cstdio>
#include<algorithm>
#define N 100010
using namespace std;
int n,l[N*40][2],x,tot,a[N];
int maxs;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);int now=0;for(int j=30;j>=0;j--)//构建{x=(a[i]>>j)&1;if(!l[now][x]) l[now][x]=++tot;now=l[now][x];}}for(int i=1;i<=n;i++){int now=0;int ans=0;for(int j=30;j>=0;j--)//查询{x=((a[i]>>j)&1)^1;//反位if(!l[now][x]) now=l[now][x^1];else{ans+=1<<j;now=l[now][x];}}maxs=max(maxs,ans);}printf("%d",maxs);
}
loj#10050-The XOR Largest Pair【Trie(字典树)】相关推荐
- 【LOJ10050】The XOR Largest Pair(字典树)
problem 给定n个整数,在其中任意选出两个进行xor运算,得到的结果最大值是多少? n<1e5,ai在int范围内 solution 朴素枚举,O(n^2), TLE 考虑异或运算,相同为 ...
- The XOR Largest Pair(算法竞赛进阶指南 P72,Trie)
一.题目链接: The XOR Largest Pair 二.题目大意: 有 n 个数,求任意两个数异或得到的最大值. 三.分析: 刚学习了字典树,觉得还不错. 把每个数分解为二进制存到字典树中,查询 ...
- 数据结构总结1(火车进栈/兔子与兔子/括号画家/Editor/邻值查找/最大子序和/前缀统计/Phone List/The XOR Largest Pair)
问题 A: 火车进栈 题目描述 这里有n列火车将要进站再出站-- 但是,每列火车只有1节-那就是车头-- 描述 有n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个 ...
- 提高篇 第二部分 字符串算法 第3章 Trie字典树
Trie(字典树)解析及其在编程竞赛中的典型应用举例 - Reqaw - 博客园 『一本通』Trie字典树 - YeLingqi - 博客园 字典树(Trie Tree) - 仰望高端玩家的小清新 - ...
- POJ3764-The xor-longest Path【Trie(字典树)】
正题 POJ题目链接:http://poj.org/problem?id=3764 其实loj也有题目:https://loj.ac/problem/10056 题目大意 一棵树,求两个点使他们的之间 ...
- Trie(字典)树详解
什么是Trie(字典)树 顾名思义,这棵树和字典类似,通过百度我们又能知道Trie树是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引 ...
- C语言实现Trie字典树 (附完整源码)
实现Trie字典树 TrieNode结构体 实现实现Trie字典树的完整源码(定义,实现,main函数测试) TrieNode结构体 typedef struct TrieNode {struct T ...
- dfa算法c语言,DFA跟trie字典树实现敏感词过滤(python和c语言)
DFA和trie字典树实现敏感词过滤(python和c语言) 现在做的项目都是用python开发,需要用做关键词检查,过滤关键词,之前用c语言做过这样的事情,用字典树,蛮高效的,内存小,检查快. 到了 ...
- 数据结构与算法(十一)Trie字典树
本文主要包括以下内容: Trie字典树的基本概念 Trie字典树的基本操作 插入 查找 前缀查询 删除 基于链表的Trie字典树 基于Trie的Set性能对比 LeetCode相关线段树的问题 Lee ...
- LeetCode 208 实现 Trie (字典树)
208 实现 Trie (字典树) 题目: 实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作. 示例: Trie trie = new Tri ...
最新文章
- unbutu 按照docker
- 你想要的iOS 小技巧总结
- 服务网格架构激活了容器网络管理—来自于服务网格创建者们的见解与展望
- 金蝶生成凭证模板_金蝶精斗云云会计软件值得的地方有哪些?
- php7设置最大连接数,sybase 15.7 修改 number of user connections 最大连接数
- Qt for Android 部署流程分析
- 对已经关闭的的chan进行读写,会怎么样?为什么?
- datatables ajax错误,ajax datatable - DataTables警告:table id = example - 无法重新初始化DataTable(示例代码)...
- 中缀表达式变后缀分析
- Xcode7下模拟器输入文本无法显示系统键盘的解决办法
- 使用fastjson读取超巨json文件引起的GC问题
- mc服务器怪物掉落修改,【服务端插件】 clear 2.3-清理插件,红石,流水岩浆,动物怪物掉落物,作物自动清理[1.6.2-1.7.2]...
- 51单片机呼吸灯c语言程序,用51单片机的呼吸灯程序
- 用C语言实现求水仙花数
- 与i7性能相当的服务器cpu,i7 8550 U相当于七代什么水平?i7 8550 U性能评测分析
- Mac 修改命令行前缀显示
- 理解boot menu
- 【观察】亚信科技:中期业绩逆势上扬,让5G新价值挺进纵深
- PPT打印省纸法及改变ppt背景
- 纯净版win10系统下载 2020-12-17
热门文章
- python搭建项目结构_Django搭建项目实战与避坑细节详解
- python base64编码_JS和Python实现AES算法
- python 里什么时候缩进_python什么时候缩进
- mysql导入数据提前修改字段_Mysql一些导入导出数据库,添加修改字段命令_MySQL...
- .net mysql字符串截取_【MySQL】字符串截取之SUBSTRING_INDEX和【MySQL】字符串四则运算...
- android虚线边框_Android实现代码画虚线边框背景效果
- leetcode111. 二叉树的最小深度(层序遍历10)
- 151. 翻转字符串里的单词(思路+详解)
- mysql id 字段类型转换_mysql 数据类型转换
- [Spring5]IOC容器_底层原理