【LOJ 10050】The XOR Largest Pair【Trie】

LVGL 9Text Area 控件 (lv_textarea) 使用指南 是一个可编辑的文本输入控件,通常用于在用户界面中输入和编辑多行或单行文本。该控件支持文本插入、删除、光标控制、文本选择、密码输入等功能。它的文本内容可以通过键盘、API 或事件进行修改,还可以设置最大文本长度、占位符文本和密码模式等。是一个强大且灵活的文本输入控件,适用于多种用户输入场景,支持文本插入、删除、光标控制、密码输入等功能。通过 LittlevGL 提供的丰富 API,开发者可以自定义文本区域的外观和行为,实现复杂的文本输入需求。 阅读详情

题目大意:

题目链接:https://loj.ac/problem/10050
求一个数列中的任意两个数字亦或的最大值。


思路:

如果给出一个数字,求一个不比它位数大的数使得这两个数亦或的值最大,那么这个数应该取多少?
我们知道如果这个数转化为二进制后为100101101,那么亦或后最大值肯定是111111111,那么当另外一个数是011010010时,才能使他们的亦或值最大。
那么就构造一个 T r i e Trie Trie,将每个数转化为二进制之后都扔进 T r i e Trie Trie里,然后对于每一个数,再将它取反,并与 T r i e Trie Trie比较,如果有相同的就走相同的,否则就走不同的。


代码:

#include <cstdio>
#include <algorithm>
#define M 5000005
#define up 30
using namespace std;

int n,x,y,k,tot=1,trie[M][2],d[M],z,ans;

void insert(int x)  //插入
{
	int p=1;
	for (int i=up;i>=0;i--)
	{
		int id=(x>>i)&1;  //取反
		if (!trie[p][id]) trie[p][id]=++tot;  //新建结点
		p=trie[p][id];
	}
}

int find(int x)  //查找
{
	int p=1,sum=0; 
	for (int i=up;i>=0;i--)
	{
		int id=(x>>i)&1;
		if (trie[p][id^1])  //取反
		{
			sum=(sum<<1)|1;
			p=trie[p][id^1];
		}
		else if (trie[p][id])  //不取反
		 {
		 	sum<<=1;
		 	p=trie[p][id];
		 }
	}
	return sum; 
}

int main()
{
	scanf("%d",&n);
	for (int i=1;i<=n;i++)
	 scanf("%d",&d[i]),insert(d[i]);
	for (int i=1;i<=n;i++)
		ans=max(ans,find(d[i]));
	printf("%d",ans);
}
手把手教你在飞牛 NAS 上部署自有图床,含Python调用接口 📸 想在飞牛 NAS 上部署图床?这篇教程超适合小白!从安装到使用,步骤清晰~ 阅读详情

相关推荐

ADS负载牵引仿真避坑指南:从零开始搞定Loadpull模板设置

本文是一份针对ADS负载牵引仿真的深度避坑指南,详细解析了Loadpull模板从初始化配置到结果解读的全过程。文章重点阐述了如何根据设计目标灵活设置扫描圆、采样点等关键参数,以解决仿真不收敛、结果不完整等常见问题,并指导读者在功率与效率之间做出理性权衡,最终提取出用于匹配网络设计的最优负载阻抗。

weixin_29234423的博客 593

loj 6344 :异或和(类欧几里得(a,b有负数情况的分析) + 分块 + 卡常技巧)

(太菜了,群友指点两小时才过) 按套路,将取模拆开,式子变成:⨁i=1n(n−i∗⌊ni⌋)\displaystyle\bigoplus_{i = 1}^n (n - i*\lfloor\frac{n}{i}\rfloor)i=1⨁n​(n−i∗⌊in​⌋) 然后就可以按套路,按位考虑,计算每一位为 1 的数字的个数:∑i=0n⌊n−⌊ni⌋∗i2p⌋\displaystyle\sum_{i ...

qq_41997978的博客 396

用Python+PyTorch实现DQN无人机避障:从环境搭建到实战训练(附完整代码)

本文详细介绍了如何使用Python和PyTorch框架,基于深度强化学习中的DQN算法,实现一个无人机自主避障系统。内容涵盖从自定义环境搭建、DQN智能体核心算法实现,到完整的训练流程与超参数调优,并提供了可视化演示与进阶优化方向,为开发者提供了从理论到实践的完整指南。

kubernetes8ctl的博客 638

【每日一题】The XOR Largest Pair

The XOR Largest Pair:字典树 https://ac.nowcoder.com/acm/problem/50993 经典字典树求n个数中任意两个数的异或值最大。 思路:利用32位二进制位构建字典树。然后我们知道异或值是相同位0,不同为1,所以对于每个数取遍历字典树,如果这个数的某位取反在字典树上是存在的话,则进入这个分支,否则则按原路走。更新得到最大值即可。 k = (x>>i)&1;注意不能写成k=((1<<i)&x),因为我们要取得是1/

qq_46653910的博客 554

手把手教你学Simulink——基于Simulink的输入输出线性化精确转矩控制

由于IOFL控制律中实时引入了当前状态的反馈(id​,iq​,ωe​),电感的变化被非线性项自动补偿,转矩仅出现微小幅度的波动(< 2%),展现出极强的参数鲁棒性。:电压方程中的耦合项(ωe​Lq​iq​和 −ωe​Ld​id​)仅通过前馈补偿,当转速 ωe​较高时,微小的前馈误差会导致显著的d-q轴电流交叉耦合;其中,ud​,uq​为定子电压,id​,iq​为定子电流,Rs​为定子电阻,Ls​为定子电感,ωe​为电角速度,ψf​为永磁体磁链,p为极对数。(步长 Ts​=10μs,即100ns?

MHD0815的博客 82

基于电阻分压 + 电压跟随器的直流母线电压采样电路

摘要:本文介绍了一种基于电阻分压和电压跟随器的直流母线电压采样电路设计。该电路通过R38(240kΩ)和R41(20kΩ)组成的分压网络将高电压(如48V)降至3V,再经GS8331运放构成的电压跟随器进行隔离缓冲,最后通过RC滤波输出给ADC采集。重点分析了关键元件的选型要求:分压电阻需高精度、低温度系数;运放需高输入阻抗、低失调电压;滤波电容需稳定性好。该设计适用于工业电源、新能源BMS、变频器等需要高精度电压采样的应用场景。

qq_37999850的博客 887

The XOR Largest Pair(Trie树)

题意: 给出n个整数:A1,A2,A3,A4,…An,从中任意选出两个数进行异或求最大值。 思路: 把给出的数Ai化为二进制,从最大位开始插入字典树,假设都从第32位插入。然后插入完毕后,便利每一个数,根据异或的特点,每次优先走与这个数插入树中的边不一样的边,即:若当前位是0,则走1,若当前位是1,则反之。因为是从最高位查起,若没有与当前位相同的边,就走与当前位相同的边。 注意:插入的时候要从高位...

riversu 312

Python爬取小红书种草商品评论数据:从入门到实战全攻略(附反爬+情感分析方案)

Python爬取小红书种草商品评论数据,核心是“抓包找到正确的接口+处理登录验证+合理的反爬策略”。新手不用一开始就追求多笔记批量爬取和情感分析,先把单笔记的评论抓取和存储跑通,再逐步扩展功能。我做的这个系统现在每天帮朋友爬取3-5款美妆产品的评论,自动做情感分析和关键词提取,她再也不用手动翻评论了,效率提升了80%。如果你们在开发中遇到具体问题,比如接口找不到、Cookie过期、IP被封,都可以在评论区留言,我会一一解答。后续也可以出一期小红书笔记种草数据爬取的教程,帮助大家更全面地分析竞品数据。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1346

The XOR Largest Pair 解题报告

1602 The XOR Largest Pair 0x10「基本数据结构」例题 描述 在给定的N个整数A1,A2……AN中选出两个进行xor运算,得到的结果最大是多少? 输入格式 第一行一个整数N,第二行N个整数A1~AN。 输出格式 一个整数表示答案。 样例输入 3 1 2 3 样例输出 3 数据范围与约定 对于100%的数据: N<=10^5, 0<=Ai<2^3...

帅比王的博客 2000

自定义配方画面的具体方法示例 - 嵌入式

自定义配方画面的具体方法示例 - 嵌入式在TIA博途WinCC中,您可以通过编程来创建自定义配方画面。这些画面可以用于显示和编辑您的嵌入式系统中的配方参数。下面是一个示例,展示了如何在WinCC中实现自定义配方画面的方法。首先,您需要创建一个新的画面,并添加必要的控件来显示和编辑配方参数。在WinCC中,您可以使用文本框、按钮和标签等控件来实现这一目的。以下是一个简单的示例,展示了如何创建一个具有文本框和按钮的配方画面:创建新画面:添加控件:编辑控件属性:编写脚本: 在这个示例中,我们定义了两个变量和来存储

CyberBytezZ的博客 1033

【红绿灯识别】基于计算机视觉实现道路信号灯检测识别系统附Matlab代码

随着自动驾驶技术的快速发展,对道路交通信号灯的检测识别技术也提出了更高的要求。本文提出了一种基于计算机视觉的道路信号灯检测识别系统,该系统能够准确地检测和识别道路交通信号灯,并输出信号灯的颜色信息。该系统采用深度学习方法,利用卷积神经网络(CNN)对道路交通信号灯进行检测和识别。实验结果表明,该系统能够在复杂的环境中准确地检测和识别道路交通信号灯,具有较高的实用价值。道路交通信号灯是道路交通管理的重要组成部分,它能够有效地组织交通,提高道路通行效率,保障交通安全。

qq_59747472的博客 338

The XOR Largest Pair

文章目录思路代码 思路 我们先暴力一下: for(int i=1;i<n;i++) { for(int j=i+1;j<=n;j++) ans=max(ans,a[i]^a[j]); } 还能得828282分(脚出数据)。 我们实际可以把这些数全部转换为二进制,然后存进字典树。我们既然要答案最大,则尽量让这两个数的二进制的相差的数位越大越好。我们就尽量往与当前位相反的指针上跑,如果没有就只能走原来的数位。这样就可以让答案最大。 代码 #include <bits/stdc++.h

sxhlrLX的博客 540

最新Anaconda3的安装配置及使用教程(详细过程)

最新Anaconda3安装使用Anaconda下载方式一:官网下载方式二:清华镜像下载(推荐)Anaconda安装 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项 Anaconda + Jupyter 基本上已经是大部分机器学习/数据分析等开发者标配的开发环境, 不多介绍,直接进去正题: Anaconda下载 方式一:官网下载 下载地址传送门: 官网首页:https://www.anaconda.com/ 官网下载页:https://www

HowieXue 薛永浩的博客 34万+

[loj 10050] The XOR Largest Pair {Trie字典树}

题目 https://loj.ac/problem/10050 解题思路 我们可以把每个整数看作长度为323232的二进制010101串(数值较小的在前边补000),并且把Ai∼Ai−1Ai∼Ai−1Ai\sim Ai-1对应的323232位二进制插入一颗TrieTrieTrie树(最低二进制位为叶子节点)。接下来,对于AiAiAi对应的323232位二进制串,我们在TrieTrieTr...

Nowed 527

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Trie】LOJ_10050 The XOR Largest Pair

题意 给出n个数,在其中选两个数,使它们的异或值最大,输出这个异或值。 思路 这道题我们可以用到字典树来对每个数进行一位一位地找。把一个数转成二进制,对它的每一位尽量找个相反的,这样子可以使得异或值最大。 代码 #include&amp;lt;cstdio&amp;gt; #include&amp;lt;cstring&amp;gt; #include&amp;lt;algorithm&amp;gt; using namespac...

GOODPLACE 301

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LOJ 10050 「一本通 2.3 例 2」The XOR Largest Pair 01trie

题目传送门 Description 给定一个数列,从中选出两个数,求异或的最大值。 Solution 01trie模板题。 我们将数据以二进制形式储存在trie树中,每次查询时,从大位到小位尽可能选与当前相异的数据。 code #include<bits/stdc++.h> using namespace std; int n,a[1050000]; int trie[10500000][2],tot=0,ans=-1; void insert(int x){ int p=0; for(in

Yorug的博客 210

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LOJ #10050 The XOR Largest Pair

目录: 题目: 分析: 代码: 题目: 传送门 分析: 异或最大,那么我们尽量使他们每一位都不同,根据这个特性,我们可以将它们拆分成二进制,然后按位查找 例如要找到一个数与110111011101异或起来最大,那么我们就去找001000100010,这样子它们的异或值就是最大的 代码: #include&lt;iostream&gt; #in...

qq_35786326的博客 362

【LOJ10050】The XOR Largest Pair

题目描述 在给定的 NNN 个整数 A1,A2,…,ANA_1,A_2,…,A_NA1​,A2​,…,AN​ 中选出两个进行异或运算,得到的结果最大是多少? 输入格式 第一行一个整数 NNN。 第二行 NNN 个整数 AiA_iAi​。 输出格式 一个整数表示答案。 样例 样例输入 5 2 9 5 7 0 样例输出 14 数据范围与提示 对于 100%100\%100...

ETO的博客 734

【LOJ 10050】The XOR Largest Pair

算法标签:Trie树

forever_dreams的博客 402

CH1602/loj 10050 The XOR Largest Pair

描述  在给定的N个整数A1,A2……AN中选出两个进行xor运算,得到的结果最大是多少? 输入格式  第一行一个整数N,第二行N个整数A1~AN。 输出格式  一个整数表示答案。 样例输入 3 1 2 3   样例输出  3 数据范围与约定  对于100%的数据: N&lt;=10^5, 0&lt;=Ai&lt;2^31。 CODE #include&lt;c...

The wheel of Fortune 410

【trie树】the xor largest pair

LOJ #10050. The XOR Largest Pair trie树三连击biu~ 《进阶指南》P72 例题 思路与上题无异, 只细节不同qaq 分解二进制,高位在前, 建立trie树(0/1) search操作:首选不同的(xor值才能大), 就等于在后面加了一个1, 所以 sum = (sum<<1)|1; 如果没有不同的, 就等于在后面加了一个0, 所以...

weixin_34253539的博客 170

【LOJ10050】The XOR Largest Pair(字典树)

problem 给定n个整数,在其中任意选出两个进行xor运算,得到的结果最大值是多少? n&amp;lt;1e5,ai在int范围内 solution 朴素枚举,O(n^2), TLE 考虑异或运算,相同为0,相反为1。我们希望最终值尽可能大,即1尽可能多。 将每个整数看做二进制串,建立字典树。 接下来遍历ai,并查找字典树。查找中的策略是每次选择与ai当前位相反的字符指针向下访问,即可得到...

小哈里的博客 1109

loj#10050-The XOR Largest Pair【Trie(字典树)】

正题 题目链接:https://loj.ac/problem/10050 题目大意 有n个数,求两个数使他们异或起来最大。 解题思路 我们考虑构建一个TrieTrieTrie。 两个分叉为0,1,对于每个数二进制下不够30位我们将其补够30位,然后再根据二进制01构建TrieTrieTrie。 然后我们再次枚举一边,然后依旧是补位转二进制,然后每次尽量走反方向的边,在...

QuantAsk 615

LOJ #10050.「一本通 2.3 例 2」The XOR Largest Pair

在字典树上贪心即可。 #include <bits/stdc++.h> using namespace std; const int N=4e6+5; int n,x,ans,tot; int trie[N][2]; //#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1=...

Love_xyh的博客 328

提高篇 第二部分 字符串算法 第3章 Trie字典树

Trie(字典树)解析及其在编程竞赛中的典型应用举例 - Reqaw - 博客园 『一本通』Trie字典树 - YeLingqi - 博客园 字典树(Trie Tree) - 仰望高端玩家的小清新 - 博客园 LeetCode字典树(Trie)总结 - 简书 浅谈Trie树 - 白驹过隙----青春绿 - 博客园 例题 1 Phone List(Poj3630) Phone List(Poj3630) - Bruce--Wang - 博客园 C++——字典树(Trie树)例题——Phone L

青少年趣味编程 564
上一篇: 【洛谷P2922】秘密消息【Trie】
下一篇: 【POJ 3764】The xor-longest Path【Trie】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值