【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)

相关推荐

  • redis中的五种基本类型(redis的几种类型分别适用什么场景)

    技术redis层级结构是怎样的本篇内容主要讲解“redis层级结构是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis层级结构是怎样的”吧!redis中保存数据时

    攻略 2021年12月23日
  • Python如何爬取视频网站弹幕并做成词云图

    技术Python如何爬取视频网站弹幕并做成词云图这篇文章将为大家详细讲解有关Python如何爬取视频网站弹幕并做成词云图,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。大家

    攻略 2021年10月26日
  • 怎么解决数据库查询非常慢问题

    技术怎么解决数据库查询非常慢问题本篇内容主要讲解“怎么解决数据库查询非常慢问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决数据库查询非常慢问题”吧!一、cpu lo

    攻略 2021年11月16日
  • spark structstream 性能(sparkudf使用缓存数据吗)

    技术Spark UDF变长参数的方法是什么这篇文章主要介绍“Spark UDF变长参数的方法是什么”,在日常操作中,相信很多人在Spark UDF变长参数的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年12月14日
  • ASP.NET数据库连接的实例分析

    技术ASP.NET数据库连接的实例分析这篇文章给大家介绍ASP.NET数据库连接的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。ASP.NET数据库连接实例展现: using System;

    攻略 2021年12月1日
  • docker swarm集群中如何指定容器部署节点

    技术docker swarm集群中如何指定容器部署节点这篇文章给大家介绍docker swarm集群中如何指定容器部署节点,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在docker swarm 集

    攻略 2021年10月20日