嗯...

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4825

这道题更明确的说是一道01字典树,如果ch[u][id^1]有值,那么就向下继续查找/建树,如果没有则向别的方向建树,类似一个贪心的思想。

每次记录一下每个节点的编号及所代表的值。

AC代码:

 #include<cstdio>
#include<cstring>
#include<iostream> using namespace std; int ch[][];
int cnt;
int val[]; inline void build(long long x){
int u = ;
for(int i = ; i >= ; i--){
int id = (x >> i) & ;
if(ch[u][id] == ) ch[u][id] = ++cnt;
u = ch[u][id];
}
val[u] = x;
} inline long long query(long long x){
int u = ;
for(int i = ; i >= ; i--){
int id = (x >> i) & ;
if(ch[u][id^]) u = ch[u][id^];
else u = ch[u][id];
}
return val[u];
} int main(){
int t;
scanf("%d", &t);
for(int i = ; i <= t; i++){
memset(ch, , sizeof(ch));
cnt = ;
memset(val, , sizeof(val));
int n, m;
scanf("%d%d", &n, &m);
for(int j = ; j <= n; j++){
long long x;
scanf("%lld", &x);
build(x);
}
printf("Case #%d:\n", i);
for(int k = ; k <= m; k++){
long long x;
scanf("%lld", &x);
printf("%lld\n", query(x));
}
}
return ;
}

AC代码

最新文章

  1. apache的AB测试
  2. .NET中Redis安装部署及使用方法简介附-&gt;开源Redis操作辅助类
  3. Quartz.NET开源作业调度框架系列(五):AdoJobStore保存job到数据库
  4. git命令拾遗
  5. 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除
  6. php随笔杂记(一)
  7. CLR探索应用程序域世界(上):Windbg SOS剖析揭示域世界
  8. android学习日记21--消息提示之Toast和Notification
  9. 使用pypi镜像源加速第三方库在线安装
  10. 【转】c++重载、覆盖、隐藏——理不清的区别
  11. Toast——提醒方式
  12. DVWA笔记之二:Command Injection
  13. ubuntu16.04 配置opensips服务器并编译pjsip测试
  14. 最简单的基于FFMPEG的图像编码器(YUV编码为JPEG)
  15. HBase 运维分析
  16. jmeter压测数据库,抓包工具,python基础
  17. 浅谈Python装饰器
  18. Vue.js——快速入门
  19. You Don&#39;t Know JS: Scope &amp; Closures (第4章: Hoisting)
  20. HDU - 1174:爆头 (三维平面点到射线的距离)

热门文章

  1. springmvc的框架搭建及工作流程
  2. vue全局组件与局部组件
  3. c数据结构 绪论
  4. java.util.UUID工具类
  5. 第四十四篇 入门机器学习——matplotlib基础——实现数据可视化
  6. Bootstrap框架学习
  7. jenkins发布.war包到本地tomcat
  8. 2019 ICPC南京网络赛 F题 Greedy Sequence(贪心+递推)
  9. Vue - 组件 Prop
  10. 最详细的linux安装php过程