【Trie】最大异或对

技术【Trie】最大异或对 【Trie】最大异或对【题目描述】
在给定的N个整数A1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少
输入格式
第一行输入一个整数N。
第二行输入N个

最大异或对。

题目描述

从给定的n个整数A1、a2中选择两个.对于异或运算,最大结果是什么?

输入格式

在第一行输入一个整数n。

在第二行输入n个整数a1 ~ an。

输出格式

输出一个整数来表示答案。

数据范围

1N105,

0Ai231

输入样例:

1 2 3

输出样例:

(1)使用Trie优化,所有数字从高位到低位存储在Trie树中。因为要计算最大异或对,所以对于一个数num,可以获得最大异或值的数在每一位都必须与num相反。

然后取num的每个数字和Trie树中的数字进行查询。如果可以找到对位数,继续查询,如果找不到,继续查询。

最大的数是二进制的32位,所以所有的数都会统一视为32位,避免了判断的麻烦,走到叶节点后才能视为一个数。

1 #包含iostream

2使用命名空间标准;

3 const int N=31 * 100009

4 int Trie[N][2],idx

5个空心嵌件(整数)

6 {

7 int p=0;

8表示(int i=30I=0;我)

9 {

10 int u=(num I)1;

11 if(!特里[p][u])

12 Trie[p][u]=idx;

13 p=Trie[p][u];

14 }

15 }

16

17整数查询(整数)

18 {

19 int p=0,RES=0;

20表示(int i=30I=0;我)

21 {

22 int u=num I 1;

23 if(Trie[p][!u])

24 {

25 res=(res 1)!u;//注意:加号运算符优先于。

26 p=Trie[p][!u];

27 }

其他28个

29 {

30 RES=(RES 1)u;

31 p=Trie[p][u];

32 }

33 }

34返回^水库;

35 }

36

37 int n,res

38 int main()

39 {

cin北纬40度;

41 while(n -)

42 {

43整数;

44 cin数字;

45插入(数量);

46 res=max(res,query(num));

47 }

48个国家;

49返回0;

50 }

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/37476.html

(0)

相关推荐

  • C++模板使用方法是什么

    技术C++模板使用方法是什么本篇文章为大家展示了C++模板使用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++编程语言中的模板应用在一定程度上大大提高了程序开发的效

    攻略 2021年10月27日
  • 怎么使用物联网设备来确保儿童安全

    技术怎么使用物联网设备来确保儿童安全这篇文章将为大家详细讲解有关怎么使用物联网设备来确保儿童安全,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。IoT 设备是什么?IoT 设备是指那些在

    攻略 2021年10月26日
  • Vue中Watcher和Scheduler的实现原理是什么

    技术Vue中Watcher和Scheduler的实现原理是什么这篇文章主要介绍“Vue中Watcher和Scheduler的实现原理是什么”,在日常操作中,相信很多人在Vue中Watcher和Scheduler的实现原理

    攻略 2021年12月3日
  • 电话查公司,查企业联系方式有哪些方法

    技术电话查公司,查企业联系方式有哪些方法您好,我来为您解答电话查公司。就目前来说,查询企业联系方式,有以下几种办法:1、打114电话查询。
    114可以帮您查询您所需要的企业的联系方式,你只需要把自己想要查询的企业的名称报

    生活 2021年10月26日
  • 怎样使用HLAscan进行HLA分型

    技术怎样使用HLAscan进行HLA分型这篇文章将为大家详细讲解有关怎样使用HLAscan进行HLA分型,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。HLAScan是由韩

    攻略 2021年11月10日
  • css中怎么设置边框大小和颜色

    技术css中怎么设置边框大小和颜色小编给大家分享一下css中怎么设置边框大小和颜色,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年11月14日