前言

%%%\%\%\%%%%北大爷的题目


正题

题目链接:https://www.luogu.com.cn/problem/U102380


题目大意

nnn个数,求一个数kkk使得max{aixork}max\{a_i\ xor\ k\}max{ai​ xor k}最小。


解题思路

我们对每一个数按位建到一个TrieTrieTrie里,然后对于每个节点。

  1. 如果没有子节点,证明是最下面的点,不管
  2. 如果有一个子节点,那么就直接异或为0,往下走
  3. 如果有两个字节点,那么证明这两个之中必定有一个要加上2k2^k2k,那么我们选择小的那个即可。

codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int n,t[N*30][2],cnt,root;
int insert(int val){int x=root;for(int i=29;i>=0;i--){int w=(val>>i)&1;if(!t[x][w]) t[x][w]=++cnt;x=t[x][w];}
}
int dfs(int x,int k){if(!t[x][0]&&!t[x][1]) return 0;if(!t[x][0]) return dfs(t[x][1],k-1);if(!t[x][1]) return dfs(t[x][0],k-1);return (min(dfs(t[x][0],k-1),dfs(t[x][1],k-1))|(1<<k));
}
int main()
{scanf("%d",&n);root=cnt=1;for(int i=1;i<=n;i++){int x;scanf("%d",&x);insert(x);}printf("%d",dfs(1,29));
}

U102380-简单数据结构题【Trie】相关推荐

  1. 简单数据结构题(from 钟子谦——IOI2018集训队自选题)

    简单数据结构题(from 钟子谦--IOI2018集训队自选题) 试题描述 给一棵 \(n\) 个点的树,点权开始为 \(0\) ,有 \(q\) 次操作,每次操作是选择一个点,把周围一圈点点权 \( ...

  2. 简单的数据结构题(多项式、拉格朗日插值、线段树)

    简单的数据结构题 首先考虑计算要求的式子,不妨设l=1,r=nl=1,r=nl=1,r=n. ∑i=1naik∏j≠i1−aiajai−aj\sum_{i=1}^{n}a_i^k\prod_{j\n ...

  3. qduoj 一道简单的数据结构题(水题)

    题目链接:https://qduoj.com/problem/147/点击打开链接 一道简单的数据结构题 发布时间: 2017年6月3日 18:46   最后更新: 2017年6月3日 18:51   ...

  4. JAVA 判断简单密码算法_十道简单算法题二【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

  5. 怎么获取codeforces的数据_原创 | codeforces 1417C,逆向思考的数据结构题

    点击上方蓝字,关注并星标,和我一起学技术. 大家好,欢迎阅读周末算法题专题. 今天我们选择的是codeforces contest 1417的C题k-Amazing Numbers.这是一道经典的数据 ...

  6. 数据结构题(莫队算法)

    数据结构题 题目: 问在区间[l,r]和[l1,r1]内x的出现次数的乘积是多少? 题解: 莫队算法的模板题 关于莫队算法你可以参考这个 我这里简单的说说我对莫队的理解: 莫队是一个优雅的暴力,就是将 ...

  7. java的简单算法题_[2]十道算法题【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

  8. CCF CSP 201609-2 火车购票(C++语言100分)[简单模拟题]

    1. 问题链接:CCF 201609-2 火车购票 试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 请实现一个铁路购票系统的 ...

  9. 十道简单算法题二【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

  10. GPLT-天梯赛 (较复杂的数据结构题1)

    1.L2-022 重排链表 (25 分) 思路:纯纯的数据结构题,我的做法是先用结构体存下来,然后再用数组模拟存节点,最后处理一下空节点就可以了,模拟题. #include <bits/stdc ...

最新文章

  1. Windows下Python安装及pycharm,pip下载和安装第三方库
  2. python3 多重列表推导式
  3. 2节点CentOS7 PackStack安装Newton
  4. poj1222开关问题
  5. 统计学习方法第十九章作业:马尔可夫链蒙特卡罗法、吉布斯抽样算法(书上题目) 代码实现
  6. linkedblockingqueue 后 take 不消化_消化不良的成因及护理
  7. Java知多少(68)面向字符的输出流
  8. python如何在文本内排序_在python中对文本文件中的项进行排序
  9. Redmi Note 10 Pro发布 首发价1499元起
  10. UVa 808 (建坐标系、找规律) Bee Breeding
  11. Linux chapter 1
  12. 18、HX1838红外遥控模块控制led
  13. vs2010 sp1安装失败进而回滚的解决方法(本人已解决)
  14. SQL日期时间格式转换大全
  15. android 滚动条 惯性,Android ScrollView取消惯性滚动的方法
  16. 火线精英正在维护服务器吗,火线精英1月20日23:00更新维护公告
  17. Android Provision(开机向导setupwizard程序)
  18. 微软测试管理框架(Microsoft Test Manager)
  19. 小O地图EXE版V0.9.5.5 - 功能总览
  20. re.compile(r'xxx')中的r是什么意思

热门文章

  1. matlab绘制二元一次函数图像_【八上数学】 一次函数必考知识点(下)
  2. flask取mysql数据很慢_[flask 优化] 由flask-bootstrap,flask-moment引起的访问速度慢的原因及解决办法...
  3. php中添加一个链接,使用php在推文中链接一个标签
  4. 实现图片打乱_疫情过后,是否打乱了你前进的脚步?面对现状,你将如何开展新的征程?...
  5. java跨库调用存储_存储库仅在第二个调用数据时发送回ViewModel
  6. c语言程序设计黄保和第二章,C语言程序设计答案(黄保和编)第6章
  7. 数据结构——图-有向图和无向图的邻接表基础
  8. mysql查询语句不返回_PHP-CI MySQL查询联接表,并且where语句不返回所...
  9. 在线教育后端开发项目总结
  10. AcWing 126. 最大的和