U102380-简单数据结构题【Trie】
前言
%%%\%\%\%%%%北大爷的题目
正题
题目链接:https://www.luogu.com.cn/problem/U102380
题目大意
nnn个数,求一个数kkk使得max{aixork}max\{a_i\ xor\ k\}max{ai xor k}最小。
解题思路
我们对每一个数按位建到一个TrieTrieTrie里,然后对于每个节点。
- 如果没有子节点,证明是最下面的点,不管
- 如果有一个子节点,那么就直接异或为0,往下走
- 如果有两个字节点,那么证明这两个之中必定有一个要加上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】相关推荐
- 简单数据结构题(from 钟子谦——IOI2018集训队自选题)
简单数据结构题(from 钟子谦--IOI2018集训队自选题) 试题描述 给一棵 \(n\) 个点的树,点权开始为 \(0\) ,有 \(q\) 次操作,每次操作是选择一个点,把周围一圈点点权 \( ...
- 简单的数据结构题(多项式、拉格朗日插值、线段树)
简单的数据结构题 首先考虑计算要求的式子,不妨设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 ...
- qduoj 一道简单的数据结构题(水题)
题目链接:https://qduoj.com/problem/147/点击打开链接 一道简单的数据结构题 发布时间: 2017年6月3日 18:46 最后更新: 2017年6月3日 18:51 ...
- JAVA 判断简单密码算法_十道简单算法题二【Java实现】
前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...
- 怎么获取codeforces的数据_原创 | codeforces 1417C,逆向思考的数据结构题
点击上方蓝字,关注并星标,和我一起学技术. 大家好,欢迎阅读周末算法题专题. 今天我们选择的是codeforces contest 1417的C题k-Amazing Numbers.这是一道经典的数据 ...
- 数据结构题(莫队算法)
数据结构题 题目: 问在区间[l,r]和[l1,r1]内x的出现次数的乘积是多少? 题解: 莫队算法的模板题 关于莫队算法你可以参考这个 我这里简单的说说我对莫队的理解: 莫队是一个优雅的暴力,就是将 ...
- java的简单算法题_[2]十道算法题【Java实现】
前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...
- CCF CSP 201609-2 火车购票(C++语言100分)[简单模拟题]
1. 问题链接:CCF 201609-2 火车购票 试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 请实现一个铁路购票系统的 ...
- 十道简单算法题二【Java实现】
前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...
- GPLT-天梯赛 (较复杂的数据结构题1)
1.L2-022 重排链表 (25 分) 思路:纯纯的数据结构题,我的做法是先用结构体存下来,然后再用数组模拟存节点,最后处理一下空节点就可以了,模拟题. #include <bits/stdc ...
最新文章
- Windows下Python安装及pycharm,pip下载和安装第三方库
- python3 多重列表推导式
- 2节点CentOS7 PackStack安装Newton
- poj1222开关问题
- 统计学习方法第十九章作业:马尔可夫链蒙特卡罗法、吉布斯抽样算法(书上题目) 代码实现
- linkedblockingqueue 后 take 不消化_消化不良的成因及护理
- Java知多少(68)面向字符的输出流
- python如何在文本内排序_在python中对文本文件中的项进行排序
- Redmi Note 10 Pro发布 首发价1499元起
- UVa 808 (建坐标系、找规律) Bee Breeding
- Linux chapter 1
- 18、HX1838红外遥控模块控制led
- vs2010 sp1安装失败进而回滚的解决方法(本人已解决)
- SQL日期时间格式转换大全
- android 滚动条 惯性,Android ScrollView取消惯性滚动的方法
- 火线精英正在维护服务器吗,火线精英1月20日23:00更新维护公告
- Android Provision(开机向导setupwizard程序)
- 微软测试管理框架(Microsoft Test Manager)
- 小O地图EXE版V0.9.5.5 - 功能总览
- re.compile(r'xxx')中的r是什么意思
热门文章
- matlab绘制二元一次函数图像_【八上数学】 一次函数必考知识点(下)
- flask取mysql数据很慢_[flask 优化] 由flask-bootstrap,flask-moment引起的访问速度慢的原因及解决办法...
- php中添加一个链接,使用php在推文中链接一个标签
- 实现图片打乱_疫情过后,是否打乱了你前进的脚步?面对现状,你将如何开展新的征程?...
- java跨库调用存储_存储库仅在第二个调用数据时发送回ViewModel
- c语言程序设计黄保和第二章,C语言程序设计答案(黄保和编)第6章
- 数据结构——图-有向图和无向图的邻接表基础
- mysql查询语句不返回_PHP-CI MySQL查询联接表,并且where语句不返回所...
- 在线教育后端开发项目总结
- AcWing 126. 最大的和