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

正题

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


题目大意

有n个数,求两个数使他们异或起来最大。


解题思路

我们考虑构建一个TrieTrie
两个分叉为0,1,对于每个数二进制下不够30位我们将其补够30位,然后再根据二进制01构建TrieTrie
然后我们再次枚举一边,然后依旧是补位转二进制,然后每次尽量走反方向的边,在路上统计一下,取最小值就是答案。


code

#include<cstdio>
#include<algorithm>
#define N 100010
using namespace std;
int n,l[N*40][2],x,tot,a[N];
int maxs;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);int now=0;for(int j=30;j>=0;j--)//构建{x=(a[i]>>j)&1;if(!l[now][x]) l[now][x]=++tot;now=l[now][x];}}for(int i=1;i<=n;i++){int now=0;int ans=0;for(int j=30;j>=0;j--)//查询{x=((a[i]>>j)&1)^1;//反位if(!l[now][x]) now=l[now][x^1];else{ans+=1<<j;now=l[now][x];}}maxs=max(maxs,ans);}printf("%d",maxs);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

publiccms按照指定显示的日期格式,格式化日期的写法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2021年12月30日20:21:37&#xff0c;距离2021年结束仅仅不到2天的时间了&#xff0c;时间恍如白驹过隙&#xff01; 今天还是搞的publiccms,分享个简单的语法吧&#xff1a;在…

PL/SQL之JOB用法 (定时跑数据)

转载自 PL/SQL之JOB用法 (定时跑数据) 一、DBMS_Job包的用法 包含以下子过程&#xff1a; Broken()过程。 change()过程。 Interval()过程。 Isubmit()过程。 Next_Date()过程。 Remove()过程。 Run()过程。 Submit()过程。 …

Orleans解决并发之痛(四):Streams

Orleans 提供了 Stream扩展编程模型。此模型提供了一套API&#xff0c;使处理流更简单和更健壮。Stream默认提供了两种Provider&#xff0c;不同的流类型可能使用不同的Provider来处理&#xff0c;Simple Message Stream Provider 和 Azure Queue Stream Provider。Stream Prov…

POJ3764-The xor-longest Path【Trie(字典树)】

正题 POJ题目链接:http://poj.org/problem?id3764 其实loj也有题目:https://loj.ac/problem/10056 题目大意 一棵树&#xff0c;求两个点使他们的之间的边的异或值最大。 解题思路 我们可以先算出所以点离根的路上的边的异或值&#xff0c;记为didi&#xff0c;然后根据异…

2022的第一天,立个目标

时光如白驹过隙&#xff0c;一晃已经20多年过去了&#xff0c;在这些年中&#xff0c;可谓社会的百般形态都已经历过…… 14年辍学&#xff0c;独自一人来到济南打工。15年辞职&#xff0c;开始上学学计算机。16年继续学习。17年毕业&#xff0c;以优秀的成绩被留校任用为教员…

Oracle的分页实现

转载自 Oracle的分页实现 在Oracle中实现分页的方法大致分为两种&#xff0c;用ROWNUM关键字和用ROWID关键字&#xff0c;下面来详细介绍一下&#xff1a; 1、ROWNUM 其代码为&#xff1a; SELECT *FROM (SELECT ROW_.*, ROWNUM ROWNUM_FROM (SELECT *FROM TABLE1WHERE TA…

如何编写更好的SQL查询:终极指南-第二部分

上一篇文章《如何编写更好的SQL查询&#xff1a;终极指南-第一部分》中&#xff0c;我们学习了 SQL 查询是如何执行的以及在编写 SQL 查询语句时需要注意的地方。 下面&#xff0c;我进一步学习查询方法以及查询优化。 基于集合和程序的方法进行查询 反向模型中隐含的事实是…

POJ3349,洛谷SP4354-SnowflakeSnowSnowflakes【最小表示法,hash】

正题 洛谷评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidSP4354 POJ题目链接:http://poj.org/problem?id3349 题目大意 有n片雪花&#xff0c;他们6个角有不同的长度&#xff0c;如果两片雪花6个角长度相同&#xff08;可以不同方向&#xff09;&#…

publiccms实现遍历多级分类下的不同样式内容

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2022年1月2日17:06:51,假期这两天都在做publiccms。 上篇文章遗留的问题&#xff0c;最终还是没有按照富文本去做&#xff0c;后期在看吧&#xff1b; 今天遇到了个问题&…

四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列

转载自 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列 俗话说&#xff0c;站在巨人的肩膀上看世界&#xff0c;一般学习的时候也是先总览一下整体&#xff0c;然后逐个部分个个击破&#xff0c;最后形成思路&#xff0c;了解具体细节&#xff0c;Tomcat的结构…

.NET Core 2.0应用程序大小减少50%

.NET Core 2.0应用程序减小体积瘦身官方工具 IL Linker。 IL Linker 来源于mono的linker https://github.com/mono/linker&#xff0c;目前还是预览版本。 在一般的情况下&#xff0c;链接器可以将应用程序的大小减少50&#xff05;&#xff0c;大型应用程序的大小可能更有利…

P1368-工艺【最小表示法】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP1368 题目大意 n个块&#xff0c;可以进行若干次将最左边的方块放在最右边&#xff0c;然后如果前面那个比后面那个瑕疵度小那么前面那个就是美丽的&#xff0c;求一个让最美丽的序列。 解题思路 求…

Orleans解决并发之痛(五):Web API

通过前面几篇文章的介绍&#xff0c;可能会疑问怎么在实际开发中调用Grain&#xff0c;之前Demo的Client都是基于控制台应用程序&#xff0c;实际开发下可能是基于Web Form、Web API、MVC......&#xff0c;由于一时短路了&#xff0c;没有联想到控制台应用程序的方式怎么切到其…

ASP.Net Core WebApi几种版本控制对比

一、版本控制的好处&#xff1a; &#xff08;1&#xff09;有助于及时推出功能, 而不会破坏现有系统。 &#xff08;2&#xff09;它还可以帮助为选定的客户提供额外的功能。 API 版本控制可以采用不同的方式进行控制&#xff0c;方法如下&#xff1a; &#xff08;1&…

POJ2279-Mr. Young's Picture Permutations【线性dp】

正题 题目链接:http://poj.org/problem?id2279 题目大意 有k列&#xff0c;每列人数不同&#xff0c;要求从左到右和从前到后身高都单调递减&#xff0c;学生高度是1∼N1∼N(人数总和) 解题思路 我们开一个五维数组&#xff0c;然后每次在人少那列填充&#xff0c;按照这总…

JoyOI(TYVJ)1071-LCIS【线性dp,LIS,LCS】

正题 题目链接:http://www.joyoi.cn/problem/tyvj-1071 题目大意 求两个序列的最长公共上升子序列。 code 我们先回顾一下LIS和LCS LIS:fimax{fj1}(j<i,aj<ai)fimax{fj1}(j<i,aj<ai)LCS:fi,jmax⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪fi−1,jfi,j−1fi−1,j−11(a…

asp.net core策略授权

在《asp.net core认证与授权》中讲解了固定和自定义角色授权系统权限&#xff0c;其实我们还可以通过其他方式来授权&#xff0c;比如可以通过角色组&#xff0c;用户名&#xff0c;生日等&#xff0c;但这些主要取决于ClaimTypes&#xff0c;其实我们也可以自定义键值来授权&a…

Safari浏览器不支持let声明的解决方式

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2022年1月7日16:19:38,前几天用publiccms改了个网站&#xff0c;因为客户那边各种机型都有&#xff08;各PC端的分辨率也都不一样&#xff09;&#xff0c;所以导致页面呈现的效…

Executor 与 ExecutorService 和 Executors 傻傻分不清

转载自 Executor 与 ExecutorService 和 Executors 傻傻分不清 java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent. Executors 这三者均是 Java Executor 框架的一部分&#xff0c;用来提供线程池的功能。因为创建和管理线程非常心…

POJ3666-Making the Grade【线性dp】

正题 题目链接&#xff1a;http://poj.org/problem?id3666 题目大意 给定序列A,B。要求B严格单调&#xff0c;要求最小化 S∑Ni1|Ai−Bi|S∑Ni1|Ai−Bi|解题思路 根据书上说的数学归纳法&#xff0c;我们可以证明在S最小化的条件下&#xff0c;一定存在一种构造B的方案&am…