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

「一本通 2.3 例 2」The XOR Largest Pair 在给定的 N 个整数A1​A2​AN​中选出两个进行异或运算,得到的结果最大是多少? 阅读详情

题目链接:https://loj.ac/problem/10050

思路:把每一个数字 x 转化为31位的二进制数,不够的前面补0,并插入到字典树中(最低为二进制位为叶节点);

接下来对每一个数字 x 的二进制位进行查找,每一步都尽量找与当前位置相反的数字进行访问,入如果有相反的数字,根据xor运算这一位就会留下一个 1 ,最后找出最大值就行。

代码:

#include<bits/stdc++.h>
#define ll long long
#define N 10086111
#define inf 0x3f3f3f3f
using namespace std;
int maxx,tot,ch[N][2];
void Init()
{
    memset(ch,0,sizeof(ch));
    tot=1;
}
void insertt(int x)
{
    int u=1;
    for(int i=30;i>=0;i--)
    {
        int c=x&(1<<i)?1:0;//计算出x每一位上的值
        if(!ch[u][c])//如果不存在这条边
            ch[u][c]=++tot;//就新建一个节点与转移边
        u=ch[u][c];
    }
}
int query(int x)//查询
{
    int u=1,ans=0;
    for(int i=30;i>=0;i--)
    {
        int c=x&(1<<i)?1:0;//计算x的每一位上的值
        if(ch[u][!c])//如果存在与x这一位数字相反的边
        {
            u=ch[u][!c];
            ans|=(1<<i);//把这一位上的 1 给添加到ans上
        }
        else
            u=ch[u][c];
    }
    return ans;
}
int main()
{
    Init();
    int n;
    maxx=0;
    scanf("%d",&n);
    while(n--)
    {
        int x;
        scanf("%d",&x);
        insertt(x);//把x的二进制插入字典树
        maxx=max(maxx,query(x));
    }
    printf("%d\n",maxx);
    return 0;
}

 

保姆级教程:用Qlib和LightGBM从零搭建你的第一个AI量化选股策略(附完整代码) 本文提供了一份详细的教程,教你如何使用Qlib和LightGBM从零搭建AI量化选股策略。教程涵盖了环境配置、数据获取、特征工程、模型训练和策略回测等关键步骤,并附有完整代码和常见问题解决方案,适合量化投资初学者快速上手。 阅读详情

相关推荐

N5105 PVE UEFI核显直通Windows:从黑屏到HDMI输出的实战调优

本文详细介绍了在N5105处理器上实现PVE UEFI核显直通Windows的实战调优方法。针对黑屏和HDMI音频无法识别等常见问题,提供了系统参数调整、驱动模块加载、虚拟机配置等解决方案,帮助用户成功实现核显直通并优化性能。

weixin_42566424的博客 203

一本通 提高篇—字典树

文章目录#10049. 「一本通 2.3 例 1」Phone List10050. 「一本通 2.3 例 2」The XOR Largest Pair#10051. 「一本通 2.3 例 3」Nikitosh 和异或#10052. 「一本通 2.3 练习 1」Immediate Decodability#10053. 「一本通 2.3 练习 2」L 语言#10054. 「一本通 2.3 练习 3」Secret Message 秘密信息#2012. 「SCOI2016」背单词#10056. 「一本通 2.3

weixin_53623850的博客 1333

DFX从芯片到系统:可制造性、可测试性与可靠性设计实战指南

DFX(Design for eXcellence)是一套面向产品全生命周期的设计方法论,涵盖可制造性(DFM)、可测试性(DFT)、可靠性(DFR)等维度。其核心原理是将制造、测试、维护等环节的约束前置到设计阶段,从而降低流片与量产风险。在芯片与系统硬件领域,DFX不仅是提升良率与测试效率的关键手段,更是保障车规、工控等严苛场景下长期稳定运行的基础。从芯片物理实现到PCB布局,再到系统级散热与维护设计,DFX的落地需要工具链、流程闸门与跨部门协作的体系化支撑。本文基于实际项目经验,分享DFX从设计决策到工

weixin_32349093的博客 350

LOJ 一本通提高篇2.3Trie字典树 例题+练习(坑)

复习时食用,会比较简略。 原理就不讲了,还不会字典树的先下车吧。 目录 #10049. 「一本通 2.3 例 1」Phone List #10050. 「一本通 2.3 例 2」The XOR Largest Pair #10051. 「一本通 2.3 例 3」Nikitosh 和异或 #10052. 「一本通 2.3 练习 1」Immediate Decodability #100...

xxxLJYing的博客 998

Circos图审美拯救计划:用TBtools复刻Nature级共线性分析图谱

本文针对Circos图在共线性分析中的审美提升问题,提供了一套基于TBtools的完整优化方案。通过构建和谐的色彩体系、精细控制信息层布局以及模仿顶刊构图逻辑,详细讲解了如何从配色、透明度、标签显示到高级参数设置,将默认图表升级为具有高级学术美感的Nature级图谱,助力研究者提升论文图表质量。

cherry的博客 911

GPU加速的容器化AI开发:AnolisOS/CentOS8中的NVIDIA驱动与CUDA最佳实践

本文详细介绍了在AnolisOS/CentOS8系统中配置NVIDIA驱动与CUDA的最佳实践,涵盖驱动安装、CUDA工具链配置、容器运行时设置及性能优化等关键步骤。特别针对容器化AI开发场景,提供了GPU透传和资源管理的实用方案,帮助开发者构建高效的GPU加速开发环境。

weixin_27791839的博客 339

#10050. 「一本通 2.3 例 2」The XOR Largest Pair最大异或对(Trie 字典树)

题目链接:The XOR Largest Pair 在给定的N个整数A1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式: 第一行输入一个整数N。 第二行输入N个整数A1~AN。 输出格式 输出一个整数表示答案。 数据范围 1≤N≤105, 0≤Ai<231. 输入样例: 3 1 2 3 输出样例: 3 #include<iostream> #include<stdio.h> #include<string.h> #include&l

weixin_52513845的博客 332

无人机+消防车:高楼灭火系统技术详解

传统的消防设备,如登高车、车载水枪、水炮和高喷车,在50米以上高度的火源面前往往力不从心,100米以上高层火灾则更加依赖消防员“爬楼”灭火,效率低下且风险极高。消防水带:采用聚乙烯丝材质,超轻、耐腐蚀、强度高,能够携带大量水或灭火泡沫进行高空喷水灭火作业。“无人机+消防车”高楼灭火系统主要由消防车和无人机两部分组成,通过机车联动实现高效灭火。高效灭火:无人机能够快速到达高层建筑顶部或指定位置进行灭火作业,大大提高了灭火效率。空压泡沫系统:配备超大水箱,支持长时间供应灭火泡沫,满足无人机灭火剂的需求。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 1670

信息学奥赛一本通 1412:二进制分类 | OpenJudge NOI 1.13 36:二进制分类

【题目链接】 ybt 1412:二进制分类 OpenJudge NOI 1.13 36:二进制分类 【题目考点】 1. 数制 2. 函数 【解题思路】 设函数判断一个数是A类数还是B类数 将数值转为二进制,方法为除基取余,即为二进制下的数字拆分。 统计二进制下各位数中1的个数和0的个数,而后判断该数是A类数还是B类数。 遍历1~1000的数字,统计A类和B类数的个数 【题解代码】 解法1: #include<bits/stdc++.h> using namespace std; bool isC

君义NOIP的博客 4210

【Google Play 上架】内部 / 封闭 / 开放 测试全解 — “只跑一个就能上架”?不行!

Google Play新规要求个人开发者账号在2023年11月13日后必须通过封闭测试(Closed testing)才能上架应用。封闭测试需要至少12名测试者连续14天保持参与状态,而内部测试和开放测试不能替代这一要求。三类测试轨道各有特点:内部测试用于快速内部验证,封闭测试是上架必经环节,开放测试面向更广泛用户但非必需。上架流程建议先内部测试修复问题,再启动封闭测试满足14天要求,最后申请生产发布。组织账号和早期个人账号可能不受此限制。开发者应提前规划测试人群,确保持续测试周期,并关注Play Cons

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 2798

YOLOv10改进策略【注意力机制篇】| 2024 蒙特卡罗注意力(MCAttn)模块,提高小目标的关注度

本文记录的是基于蒙特卡罗注意力(MCAttn)模块的YOLOv10目标检测改进方法研究。利用提高的跨尺度特征提取能力,使模型能够更好地传递和融合提取的多尺度特征,提高对小目标的关注度。Exploiting Scale-Variant Attention for Segmenting Small Medical Objects使用一种基于随机采样的池化操作来生成尺度无关的注意力图。它从三个不同尺度(3×33×33×3、2×22×22×2和1×11×11×1,即池化张量)中随机选择一个1×11×11×1注意力图

Limiiiing的博客 2186

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

#10050. 「一本通 2.3 例 2」The XOR Largest Pair 大意:给 n 个数,问任取两个数最大的异或和是多少。 思路:二进制字典树,注意要从高位开始建树,不然无法贪心。 #include <bits/stdc++.h> using namespace std; const int maxn = 1e5+500; int tre[maxn*32][2],...

DeadWooder 337

第10章 shellcode实战:18 神级开源shellcode工具:donut

Donut是一款shellcode生成器,可将C/C++、C#生成的PE文件转换为shellcode文件,同时支持JS、XSL、VBS脚本转换为shellcode。以下“原生”EXE/DLL指非托管PE文件(包括并不限于C/C++、delphie等编写生成的可执行文件),可以直接由系统加载运行,区别于.Net生成的托管文件。被处理exe/dll为32位程序,则需要用32为的shellcode加载器启用,exe/dll为64位的就用64位shellcode加载器启用。

李小咖·网安技术库 2796

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Camera2Demo

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

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

题目描述 在给定的 $N$ 个整数 $A_1,A_2,A_3...A_n$ 中选出两个进行异或运算,得到的结果最大是多少? 输入格式 第一行一个整数$N$。 第二行$N$个整数$A_i$。 输出格式 一个整数表示答案。 样例 样例输入 5 2 9 5 7...

ali39380的博客 226

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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

#10050. 「一本通 2.3 例 2」The XOR Largest Pair 内存限制:512 MiB(字典树优化 O(n2)找最大异或值)

题目: 题解:我们先把每一个整数按照从高位到低位,将其每一位放在字典树里,该题的字典树有点特殊,每一个节点上的分叉只有两个,然后我们针对每一个整数,我们从高位到低位进行贪心匹配(由于二进制位权的特点,如果高位匹配成功,就优先选高位,因为如果不选,就算低位全部匹配成功也赶不上高位),不过本题的匹配有点不一样,因为是异或运算,两个位相同为0,不同为1,所以我们就认为当匹配位上的两个值不同我们才能累加其贡献。 #include<bits/stdc++.h> typedef long long LL;

qq_41856950的博客 289

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

forever_dreams的博客 402

CH 1602 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。 思路:寻找2个数异或的最大值,我们把每个整数看做长度为32的二进制的01串(数...

深海沧澜的博客 1210

LOJ #10050 The XOR Largest Pair

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

qq_35786326的博客 362

#trie#loj 10056 poj 3764 The XOR Largest Path

题目 在n个数中找两个数x,yx,yx,y,使x到y的路径异或和最大 分析 可以用一种类似于差分的东西,用一个深搜求出点到根节点的异或值,然后就像The XOR Largest Pair就好了 代码 #include &amp;lt;cstdio&amp;gt; #include &amp;lt;bitset&amp;gt; #include &amp;lt;cstring&amp;gt; s

lemondinosaur的博客 244

The XOR Largest Pair

# 10050. 「一本通 2.3 例 2」The XOR Largest Pair 【题目描述】 在给定的 N 个整数 A1,A2,…,AN 中选出两个进行异或运算,得到的结果最大是多少? 【算法】 trie树经典题目。以每个数字的二进制数串逆向由第31位向第0位建立trie树。用两个指针,一个插入指针插入每一位,一个查询指针贪心的取和当前插入数串的位相反的,若无相反的则只能沿相同的走...

207

【字典树+XOR】 LibreOJ 10050 The XOR Largest Pair

字典树存储+贪心每次从高位选相反的 //#include <iostream> //#include <cstring> //#include <iomanip> //#include <algorithm> //#include <queue> //#include <stack> //#include <ve...

Whyckck的博客 325

The XOR Largest Pair LibreOJ - 10050(Trie && 贪心)

The XOR Largest Pair LibreOJ - 10050 题意: 给你n个数,要你找到两个数。使他们的异或最大。 思路: 直接找肯定TLETLETLE,所以这时候要引进Trie树。 每次碰到一个数xxx,都把xxx按照二进制,加入trie树中。(这里的加入从二进制最高位开始看) 每次加入一个数xxx之前,可以把这个数xxx与这棵trie树进行异或操作。(每次都贪心地取位数) ...

qq_45377553的博客 217

【Trie】The XOR Largest Pair

【题目链接】 https://loj.ac/problem/10050 【题意】 给出n个数,其中取出两个数来,让其异或值最大。 【题解】 经典的01字典树问题。 首先需要把01字典树建出来。 然后对于每一个串都跑一遍。如果存在当前位 不同的 节点,就往那里跑,否则顺着跑。 一切尽在代码中。 【代码】 1 #include<bits/stdc++...

weixin_30835923的博客 223

#trie#loj 10050 The XOR Largest Pair

题目 在n个数中找出两个数x,yx,yx,y,使xxx xor yyy最大。 分析 可以用trie存下每个数的二进制信息,每次查找时尽量往二进制不同的边上走,得到的数与原数的异或值就是答案 代码 #include &lt;cstdio&gt; #include &lt;bitset&gt; int trie[3100001][2],tot,ans,a[100001],n;...

lemondinosaur的博客 317
上一篇: 「一本通 2.3 例 1」Phone List
下一篇: 2019 Multi-University Training Contest 1------Vacation
admin__
博客等级 码龄8年 3粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值