1472 The XOR Largest Pair_1472:【例题2】the xor largest pair-程序员宅基地

技术标签: Trie  

1472 The XOR Largest Pair

嗯?ybt这么毒瘤了?例2我就蒙了?
话说这个题感觉是个线段树或者树状数组的题,为什么,感觉这么变态呢,似乎和trie没啥关系
这里Trie的关系就在于把每一个数建立在字典树上,然后进行求异或值,最后比较最大值输出即可,倒是不难理解
这里涉及到一个知识点x>>i表示进行往下搜索一个点

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
const int SIZE=4e6+5;
int n,x;
int cnt=0;
int tree[SIZE][2];
void insert()
{
    
	int now=0;
	for(int i=30;i>=0;i--)
	{
    
		int y=x>>i&1;
		if(tree[now][y]==0)//需要新建节点
			tree[now][y]=++cnt;
			
		 now=tree[now][y];
	}
}
int findd()
{
    
	int now=0,ans=0;
	for(int i=30;i>=0;i--)
	{
    
		int y=x>>i&1;
		if(tree[now][!y])// 异或
		{
    
			ans+=1<<i;//记录异或答案 
			now=tree[now][!y];
		 } 
		 else
		 	now=tree[now][y];
	}
	return ans;
}
int main()
{
    
	cin>>n;
	int res=0;
	while(n--)
	{
    
		cin>>x;
		insert();//建立Trie树 
		res=max(res,findd());//比较异或的最大值 
	}
	cout<<res<<endl;
	return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/CCCCDEV_CCCC/article/details/119806183

智能推荐

ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则_thinkphp 计算验证码-程序员宅基地

文章浏览阅读938次。安装验证码扩展后,在当前项目中的全局配置文件config目录中,会多出一项captcha.php用于配置验证码的相关配置。在单应用模式下,我们可以直接通过config/captcha.php 来配置项目中的验证码相关配置。多应用模式下的话,将config/captcha.php 拷贝一份到每个应用中的config目录中,然后在根据不同的应用去修改相应的验证码配置。php// | Captcha配置文件return [//验证码位数// 验证码字符集合// 验证码过期时间。_thinkphp 计算验证码

simulink实现QPSK调制解调_基于simulink的qpsk的调制与解调-程序员宅基地

文章浏览阅读1k次,点赞25次,收藏11次。1帧是simulink处理数据的最小单位,本质还是一系列串行数据,每个数据持续时间是由sample time决定。所以输出信号维度是2x1。binary输入时,sample per frame 最少设置为2.因为QPSK Modulator要求设置为binary输入时比特时要成对输入。binary输入时,sample per frame 最少设置为2.因为QPSK Modulator要求设置为binary输入时比特时要成对输入。该模块有两种观察方式,一种是port输出,该方式会输出一个列向量:[R;_基于simulink的qpsk的调制与解调

Kubernetes笔记(八)--探针健康检查_kubernetes healthz-程序员宅基地

文章浏览阅读910次。健康检查上节课我们和大家一起学习了Pod中容器的生命周期的两个钩子函数,PostStart与PreStop,其中PostStart是在容器创建后立即执行的,而PreStop这个钩子函数则是在容器终止之前执行的。除了上面这两个钩子函数以外,还有一项配置会影响到容器的生命周期的,那就是健康检查的探针。在Kubernetes集群当中,我们可以通过配置liveness probe(存活探针)和read..._kubernetes healthz

PicGo+GitHub 你的最佳免费图床选择!_picgo 图床 哪个便宜-程序员宅基地

文章浏览阅读666次。PicGo介绍这是一款图片上传的工具,目前支持SM.MS图床,微博图床,七牛图床,腾讯云COS,阿里云OSS,Imgur,又拍云,GitHub等图床,未来将支持更多图床。所以解决问题的思路就是,将本地的文件,或者剪切板上面的截图发送图床,然后生成在线图片的链接,这样就可以让Markdown文档飞起来了,走到哪就可以用到哪????。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iGQYDtGk-1606722212795)(https://raw.githubuserco_picgo 图床 哪个便宜

“SecureCRT遇到一个致命的错误且必须关闭”处理办法_an error occured while patching the file(s)!-程序员宅基地

文章浏览阅读2.6k次。打开SecureCRT时报错:SecureCRT遇到一个致命的错误且发须关闭。一个崩溃转储文件已创建于...解决办法是,如下在cmd中输入regedit回车打开注册表编缉器展开HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\找到包含“VanDyke”字眼的那些文件夹(有时只有VanDyke一个有时有几个)在其上点击右键选择全删掉,然后重新双击启..._an error occured while patching the file(s)!

Rational Rose、PowerDesign、visio这三个软件的功能与异同[转帖]-程序员宅基地

文章浏览阅读830次。作者:ebizs ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能。ROSE主要是在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗(但是它的结构仅仅对那些对掌握UML的开发人员,也..._比powerdesigner好用的软件

随便推点

小程序报错:WASubContext.js?t=wechat&s=1678933264045&v=2.30.2:1 routeDone with a webview_wasubcontext.js?t=wechat&s=1696939659797&v=3.1.2:1-程序员宅基地

文章浏览阅读1.8w次,点赞8次,收藏8次。小程序报错:WASubContext.js?t=wechat&s=1678933264045&v=2.30.2:1 routeDone with a webview_wasubcontext.js?t=wechat&s=1696939659797&v=3.1.2:1 routedone with a webviewi

【ELM回归预测】基于变模态分解结合人工兔群算法优化极限学习机VMD-ARO-ELM实现锂电池健康预测附matlab代码-程序员宅基地

文章浏览阅读797次,点赞18次,收藏17次。锂电池作为一种清洁、高效的能源存储设备,在电动汽车、便携式电子设备等领域得到了广泛应用。然而,锂电池在使用过程中会不可避免地发生老化,导致其容量和性能下降。因此,准确预测锂电池健康状态对于保证其安全性和延长其使用寿命至关重要。本文提出了一种基于变模态分解(VMD)和人工兔群算法(ARO)优化极限学习机(ELM)的锂电池健康预测方法(VMD-ARO-ELM)。该方法首先利用VMD将锂电池电压数据分解为多个固有模态分量,提取其特征信息。然后,采用ARO优化ELM模型的参数,提高模型的预测精度。

面了华为、小红书、三星的算法岗,面经合集版来了_三星笔试算法题-程序员宅基地

文章浏览阅读956次,点赞25次,收藏21次。节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂同学、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。今天我整理一下算法岗方向面试题,分享给大家,希望对后续找工作的有所帮助。_三星笔试算法题

7套干货,Python常用技术学习知识图谱!,Python高级工程师面试题及答案-程序员宅基地

文章浏览阅读642次,点赞11次,收藏14次。不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的学习资料包括但不限于:Python 环境、pycharm编辑器/永久激活/翻译插件python 零基础视频教程Python 界面开发实战教程Python 爬虫实战教程Python 数据分析实战教程python 游戏开发实战教程Python 电子书100本。

基于深度学习的机器人目标识别和跟踪_近三年国内外人工智能领域“基于深度学习的目标跟踪方法”-程序员宅基地

文章浏览阅读1.1k次。如今,深度学习算法的发展越来越迅速,并且在图像处理以及目标对象识别方面已经得到了较为显著的突破,无论是对检测对象的类型判断,亦或者对检测对象所处方位的检测,深度学习算法都取得了远超过传统机器学习算法的准确率。当前,可以机器人技术分为以下两种学科的跨学科分支,即工程和科学。其包含计算机科学、机械工程、电子信息工程等。机器人的设计与制造和用于机器人的运动规划控制、传感器反馈和信息处理的技术系统在机器人邻域都有涉及。机器人视觉也是当下研究生的一个大热门,其包含机器人对目标环境对象的视觉信息处理以及图像方面的处理。_近三年国内外人工智能领域“基于深度学习的目标跟踪方法”

C语言中,float跟double的区别及用法_c语言中double和float的用法-程序员宅基地

文章浏览阅读1.3w次,点赞76次,收藏144次。使用场景:一般情况下,如果需要高精度计算,应该使用double;需要注意的是,在进行浮点数运算时,由于浮点数存在精度问题,可能会出现一些意料之外的结果,因此需要谨慎使用。运算速度:如果需要快速进行浮点数运算,可以使用float,因为它占用的存储空间更小,运算速度更快。精度要求:如果需要高精度计算,应该使用double,因为它能够表示更小精度的数值。存储空间:如果需要节省存储空间,可以使用float,因为它占用的存储空间更小。精度:double比float精度更高,能够表示更大范围和更小精度的数值。_c语言中double和float的用法

推荐文章

热门文章

相关标签