AcWing 143. 最大异或对
https://www.acwing.com/problem/content/145
#include <iostream>
#include <algorithm>
using namespace std; const int N = ;
int n;
int a[N]; class TrieNode {
public:
TrieNode() {};
TrieNode* children[];
}; class Trie {
public:
Trie() {
root = new TrieNode;
} void insert(int x) {
TrieNode* cur = root;
for (int i = ; i >= ; i--) {
int c = x >> i & ;
if (!cur->children[c]) {
cur->children[c] = new TrieNode;
}
cur = cur->children[c];
}
} int search(int x) {
TrieNode* cur = root; int res = ;
for (int i = ; i >= ; i--) {
int c = x >> i & ;
if (cur->children[!c]) {
res += << i;
cur = cur->children[!c];
} else if (cur->children[c]) {
cur = cur->children[c];
} else {
break;
}
}
return res;
}
private:
TrieNode* root;
}; int run() {
Trie trie;
int res = ;
for (int i = ; i < n; i++) {
trie.insert(a[i]);
res = max(res, trie.search(a[i]));
} return res;
} int main()
{
cin >> n;
for (int i = ; i < n; i++) {
cin >> a[i];
} cout << run() << endl;
return ;
}
AcWing 143. 最大异或对的更多相关文章
- AcWing 143. 最大异或对 01字典树打卡
在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N. 第二行输入N个整数A1A1-ANAN. 输出格式 输出一 ...
- AcWing:143. 最大异或对(01字典树 + 位运算 + 异或性质)
在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N. 第二行输入N个整数A1A1-ANAN. 输出格式 输出一 ...
- 143. 最大异或对(Trie树存整数+二进制)
在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N. 第二行输入N个整数A1A1-ANAN. 输出格式 输出一 ...
- 《算法竞赛进阶指南》1.6Trie
142. 前缀统计 给定N个字符串S1,S2-SN,接下来进行M次询问,每次询问给定一个字符串T,求S1-SN中有多少个字符串是T的前缀. 输入字符串的总长度不超过106,仅包含小写字母. 输入格式 ...
- AcWing 228. 异或 (dfs+线性基)打卡
题目:https://www.acwing.com/problem/content/230/ 题意:有一个图,每条边有一个权值,现在求1-n的一条路径的最大异或和,一条边能经过多次,相应的也要计算那么 ...
- AcWing:144. 最长异或值路径(dfs + 01字典树)
给定一个树,树上的边都具有权值. 树中一条路径的异或长度被定义为路径上所有边的权值的异或和: ⊕ 为异或符号. 给定上述的具有n个节点的树,你能找到异或长度最大的路径吗? 输入格式 第一行包含整数n, ...
- AcWing 144. 最长异或值路径 01字典树打卡
给定一个树,树上的边都具有权值. 树中一条路径的异或长度被定义为路径上所有边的权值的异或和: ⊕ 为异或符号. 给定上述的具有n个节点的树,你能找到异或长度最大的路径吗? 输入格式 第一行包含整数n, ...
- AcWing:239. 奇偶游戏(前缀和 + 离散化 + 带权并查集 + 异或性质 or 扩展域并查集 + 离散化)
小A和小B在玩一个游戏. 首先,小A写了一个由0和1组成的序列S,长度为N. 然后,小B向小A提出了M个问题. 在每个问题中,小B指定两个数 l 和 r,小A回答 S[l~r] 中有奇数个1还是偶数个 ...
- RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
测试环境: 操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 4) VMWARE 数据库 : O ...
随机推荐
- Java的bitmap到C
在很多情况下android程序员需用到c,bimap这个是一个java中的类,android底层有一个skbitmap类和其对应.先在我遇到了需要把java的bitmap传递到底层中进行一些操作.现在 ...
- VS2015 C#6.0 中的没有实现/支持的特性
VS2015 C#6.0 中的没有实现/支持的特性 .数组增强:赋值 维数组 Int[] numbers: numbers = {2,3,4,5}; 维数组 Int[,] numbers2; ...
- HTTP协议入门基础
HTTP--Hyper Text Transfer Protocol,超文本传输协议,是一种建立在TCP上的无状态连接. 整个基本的工作流程是 :客户端发送一个HTTP请求,说明客户端想要访问的资源和 ...
- hadoop之HDFS学习笔记(二)
主要内容:hdfs的核心工作原理:namenode元数据管理机制,checkpoint机制:数据上传下载流程 1.hdfs的核心工作原理 1.1.namenode元数据管理要点 1.什么是元数据? h ...
- Win10正式版怎么关闭windows defender
分步阅读 如何关闭Win10正式版系统所自带的"Windows Defender"程序呢?"Windows Defender"程序是Win10正式版系统所自带的 ...
- linux 关键发行版及其关系图
- 一起做RGB-D SLAM(7) (完结篇)
第七讲 添加回环检测 2016.11 更新 把原文的SIFT替换成了ORB,这样你可以在没有nonfree模块下使用本程序了. 回环检测的阈值作出了相应的调整. 请以现在的github上源码为准. 简 ...
- 16 Finding a Protein Motif
Problem To allow for the presence of its varying forms, a protein motif is represented by a shorthan ...
- kaggle-泰坦尼克号Titanic-3
根据以上两篇的分析,下面我们还要对数据进行处理,观察Age和Fare两个属性,乘客的数值变化幅度较大!根据逻辑回归和梯度下降的了解,如果属性值之间scale差距较大,将对收敛速度造成较大影响,甚至不收 ...
- Redis是可以安装成windows服务-开机自启 win7 64位
其实Redis是可以安装成windows服务的,开机自启动,命令如下: redis-server --service-install redis.windows.conf 安装完之后,就可看到Redi ...