博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中南oj 1216: 异或最大值 数据结构
阅读量:6923 次
发布时间:2019-06-27

本文共 1133 字,大约阅读时间需要 3 分钟。

1216: 异或最大值

Time Limit: 2 Sec 
Memory Limit: 128 MB
Submit: 98 
Solved: 29 [ ][ ][ ]

Description

给定一些数,求这些数中两个数的异或值最大的那个值

 

Input

第一行为数字个数n,1 <= n <= 10 ^ 5。接下来n行每行一个32位有符号非负整数。

 

Output

任意两数最大异或值

 

Sample Input

3379

Sample Output

14

HINT

 

这道题,我学到了一些新的知识。

没有写过字典树。这题用01字典树。

构建树,和树形dp是一样的,都是树。

思路:

  暴力会超时。

  用字典树,01字典树。

1 #include
2 #include
3 #include
4 5 typedef struct 6 { 7 int a[2]; 8 int num; 9 }Tril;10 Tril f[100010<<5];11 int root,ans;12 13 void insert(int x,int u,int num)14 {15 int i,k;16 for(i=num;i>=0;i--)17 {18 k=(1<
=0;i--)29 {30 k=(1<
ans)38 ans=j;39 }40 int main()41 {42 int n,i,x;43 while(scanf("%d",&n)>0)44 {45 memset(f,-1,sizeof(Tril)*((n+1)<<5));46 ans=0;47 root=1;48 for(i=1;i<=n;i++)49 {50 scanf("%d",&x);51 insert(x,0,31);52 query(x,0,31);53 }54 printf("%d\n",ans);55 }56 return 0;57 }

 

转载于:https://www.cnblogs.com/tom987690183/p/3408147.html

你可能感兴趣的文章
我的友情链接
查看>>
Cannot find message resources under key org.apache.struts.action.MESSAGE
查看>>
不知道大家为什么不喜欢原生的API.
查看>>
Java和C#摘要算法实现
查看>>
js高阶函数
查看>>
hadoop安装配置
查看>>
Java异常体系
查看>>
ntop做流量监控部署
查看>>
域控制器时间与internet同步
查看>>
H3C-QOS配置记录
查看>>
敏捷开发一千零一问系列之二:序言及解决问题的心法(无住)
查看>>
HTML <base> 标签
查看>>
VMware虚拟机文件夹中各文件作用详解
查看>>
mysql 存储过程使用游标时 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE 会提前执行的坑...
查看>>
l2tp中不用IPSec,不用IPsec证书,windows客户端的配置
查看>>
GDB调试
查看>>
TurboMail双机热备拒绝中断邮件损失
查看>>
30-40岁的程序员们,请把一些账算清楚,为过冬做准备(三)
查看>>
我的友情链接
查看>>
iOS textView 高度自适应
查看>>