【Trie】The XOR Largest Pair
【题目链接】
【题意】
给出n个数,其中取出两个数来,让其异或值最大。
【题解】
经典的01字典树问题。
首先需要把01字典树建出来。
然后对于每一个串都跑一遍。如果存在当前位 不同的 节点,就往那里跑,否则顺着跑。
一切尽在代码中。
【代码】
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5+;
const int M = 3e6+;
int son[M][];
int a[N],n,idx;
void Insert(int x){
int p = ;
for(int i=;~i;i--){
int t = x >> i & ;
if( !son[p][t] )
son[p][t] = ++idx;
p = son[p][t] ;
}
}
int Query(int x){
int p = ;
int res = ;
for(int i=;~i;i--){
int t = x >> i & ;
if( son[p][t^] ){
res += <<i ;
p = son[p][t^] ;
}else{
p = son[p][t] ;
}
}
return res ;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i]),Insert(a[i]);
int res = ;
for(int i=;i<=n;i++)
res = max( Query(a[i]) , res );
printf("%d\n",res);
return ;
}
01字典树
【Trie】The XOR Largest Pair的更多相关文章
- CH1602 The XOR Largest Pair【Trie树】
1602 The XOR Largest Pair 0x10「基本数据结构」例题 描述 在给定的N个整数A1,A2……AN中选出两个进行xor运算,得到的结果最大是多少? 输入格式 第一行一个整数N, ...
- 「LOJ#10050」「一本通 2.3 例 2」The XOR Largest Pair (Trie
题目描述 在给定的 $N$ 个整数 $A_1,A_2,A_3...A_n$ 中选出两个进行异或运算,得到的结果最大是多少? 输入格式 第一行一个整数$N$. 第二行$N$个整数$A_i$. 输出格式 ...
- 【BZOJ2337】[HNOI2011]XOR和路径 期望DP+高斯消元
[BZOJ2337][HNOI2011]XOR和路径 Description 题解:异或的期望不好搞?我们考虑按位拆分一下. 我们设f[i]表示到达i后,还要走过的路径在当前位上的异或值得期望是多少( ...
- 【BZOJ2115】[Wc2011] Xor 高斯消元求线性基+DFS
[BZOJ2115][Wc2011] Xor Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si,Ti ...
- 【BZOJ4269】再见Xor 高斯消元
[BZOJ4269]再见Xor Description 给定N个数,你可以在这些数中任意选一些数出来,每个数可以选任意多次,试求出你能选出的数的异或和的最大值和严格次大值. Input 第一行一个正整 ...
- The XOR Largest Pair(tire树)
题目 The XOR Largest Pair 解析 一年前听学长讲这道题,什么01trie,好高级啊,所以没学,现在一看.... 看到xor就应该想到二进制,一看数据\(A_i< 2^{31} ...
- 【Trie】The XOR-longest Path
[题目链接]: https://loj.ac/problem/10056 [题意] 请输出树上两个点的异或路径 的最大值. [题解] 这个题目,y总说过怎么做之后,简直就是醍醐灌顶了. 我们知道Xo ...
- 【Trie】Nikitosh 和异或
[参考博客]: LOJ#10051」「一本通 2.3 例 3」Nikitosh 和异或(Trie [题目链接]: https://loj.ac/problem/10051 [题意]: 找出两个不相交区 ...
- 【bzoj4296】再见Xor
4269: 再见Xor Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 176 Solved: 107[Submit][Status][Discuss ...
随机推荐
- Ryu控制器编程开发——packet_in和packet_out简易交换机实现
Ryu控制器二次开发,实现一个简单的只能够简单地广播数据包的交换机. from ryu.base import app_manager from ryu.controller import ofp_e ...
- 【SVN】彻底 svn 服务器上的 删除某一个文件或文件夹
参考: CSDN1:https://blog.csdn.net/u011729865/article/details/78764523 CSDN2:https://blog.csdn.net/wyyo ...
- git提交异常 fatal: LF would be replaced by..
git提交代码时,一直报出“fatal: LF would be replaced by CRLF in (文件名)”的异常,导致代码提交不到远程仓储.其实是,不同系统对换行符的解释不同导致的. 方法 ...
- Django 配置实用bootstrap
1.下载bootstrap代码包. 2.在目录下创建static文件夹,将bootstrap文件夹移动到static文件夹内,编辑settings.py: 最后添加如下(文件末尾): STATIC_U ...
- mysql安装到启动遇见的问题
一.有时候安装mysql后使用mysql命令时报错 Can't connect to MySQL server on localhost (10061),或者用net start mysql 时报服务 ...
- LightGBM两种使用方式
原生形式使用lightgbm(import lightgbm as lgb) import lightgbm as lgb from sklearn.metrics import mean_squar ...
- vue-cli项目模板的一些思考
之前有个想法,就是要利用vue写一套ui.然后当时也没有搞清楚到底怎么写. 几经周转吧,通过付费的方式在gitbook上面找到了答案. 找到答案之后再看我们正在开发的项目,看伙伴写的代码,突然发现完全 ...
- PHP mysql_num_rows() 函数 返回结果集中行的数目。
定义和用法 mysql_num_rows() 函数返回结果集中行的数目. 语法 mysql_num_rows(data) 参数 描述 data 必需.结果集.该结果集从 mysql_query() 的 ...
- android ONVIF 组播探测在线摄像机
http://blog.csdn.net/ghostyu/article/details/8182516 Android的Wifi,默认情况下是不接受组播的,见:http://developer.an ...
- ps填充颜色快捷键
一:选中区域: 二:填充前景色快捷键是“Alt+Delete”: 三:填充背景色的键盘快捷键是“Ctrl+Delete”: