AcWing 143. 最大异或对
创始人
2024-11-14 08:06:07
0

在这里插入图片描述
思路:因为要求XOR最大值,所以两数XOR的时候两数二进制位要是最多的才行,一个数的二进制位是1的同时,另外一个数对应的二进制位是0,这样不一样的二进制位的数量最多时,两数XOR结果最大!

具体操作是先把a[i]以二进制形式插入到Trie树里面,然后Trie查询a【i】,一条路劲沿着a【i】这个二进制路径往深处搜索,从高位搜索,如果当前a【i】里面某一位是0,那么要找到a【i】这路径的对应的1的旁边的一条路径,如果不存在这路径就往下一层搜索,然后遍历a完了之后只花费了 O ( n ) O(n) O(n)时间
在这里插入图片描述

#include #define MAX 30000086 #define LEN 100086 using namespace std; int N,a[LEN],son[MAX][2],idx; void insert(int x){     int p=0;     for(int i=30;~i;--i){         int u=(x>>i)&1;//2进制的题意,Trie树只有2种状态,0和1         if(!son[p][u]) son[p][u]=++idx;         p=son[p][u];     } } int query(int  x){     int p=0,res=0;     for(int i=30;~i;--i){//~i等价于i>=0,i==-1是为OxFFFFF,取反之后就是0x0000,         int u=x>>i&1;         if(son[p][!u]){//存在相反2进制位,则把这个数算出来,然后往深一层遍历             res+=1<     cin>>N;     for(int i=0;i         cin>>a[i];         insert(a[i]);     }     int res=0;     for(int i=0;i         res=max(res,query(a[i]));     }     cout<

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...