嗯...

题目链接: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代码

HDU 4825 Xor Sum(字典树)的更多相关文章

  1. HDU 4825 Xor Sum 字典树+位运算

    点击打开链接 Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) ...

  2. hdu 4825 xor sum(字典树+位运算)

    Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others)Total S ...

  3. hdu 4825 Xor Sum trie树

    Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Proble ...

  4. hdu 4825 Xor Sum(trie+贪心)

    hdu 4825 Xor Sum(trie+贪心) 刚刚补了前天的CF的D题再做这题感觉轻松了许多.简直一个模子啊...跑树上异或x最大值.贪心地让某位的值与x对应位的值不同即可. #include ...

  5. HDU 4825 Xor Sum(经典01字典树+贪心)

    Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Total ...

  6. HDU 4825 Xor Sum(01字典树入门题)

    http://acm.hdu.edu.cn/showproblem.php?pid=4825 题意: 给出一些数,然后给出多个询问,每个询问要从之前给出的数中选择异或起来后值最大的数. 思路:将给出的 ...

  7. hdu 4825 Xor Sum(01字典树模版题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4825 题解:一到01字典树的模版题,01字典树就是就是将一些树用二进制放到一个树上这样可以方便对整体异 ...

  8. HDU 4825 Xor Sum(二进制的字典树,数组模拟)

    题目 //居然可以用字典树...//用cin,cout等输入输出会超时 //这是从别处复制来的 #include<cstdio> #include<algorithm> #in ...

  9. HDU 4825 Xor Sum (模板题)【01字典树】

    <题目链接> 题目大意: 给定n个数,进行m次查找,每次查找输出n个数中与给定数异或结果最大的数. 解题分析: 01字典树模板题,01字典树在求解异或问题上十分高效.利用给定数据的二进制数 ...

随机推荐

  1. d2admin框架学习

    <template slot-scope="scope"> <el-button @click="upper_score(scope.$index, s ...

  2. C#画图超出屏幕的部分无法显示的解决方法

    C#画图超出屏幕的部分无法显示,通过AutoScrollMinSize属性及相关方法解决问题. 可以实现 到 的转变. 代码如下: using System.Drawing; using System ...

  3. codeforces 1284D. New Year and Conference(线段树)

    链接:https://codeforces.com/problemset/problem/1284/D 题意:有n场讲座,有两个场地a和b,如果在a场地开讲座则需要占用[sai,eai],在b场地开讲 ...

  4. Vue的iview组件框架select远程搜索,选中后不刷新的问题

    1.场景:弹框内有一个下拉组件(支持搜索),当选择完数据后弹框关闭,再次打开后,下拉框内的数据是刚才选中的数据.原因:分析后觉得是搜索内容没有清空,导致下拉的数据只有一个 2.解决方案 a .解决:调 ...

  5. js -- 车牌号对应的归属地js文件

    /*车牌号对应的归属地*/ let cardCallerloc = new Map(); // 北京市(京) cardCallerloc.set("京A", "北京市&q ...

  6. 基于Docker的Mysql Cluster集群

    参考 mysql-cluster镜像 https://medium.com/@ahmedamedy/mysql-clustering-with-docker-611dc28b8db7 使用Docker ...

  7. ffmpeg-- audio decoder

    测试代码来源于:http://ffmpeg.org/doxygen/trunk/decode_audio_8c-example.html /* * Copyright (c) 2001 Fabrice ...

  8. Pycharm调试django项目时发现断点失效

    解决方法: 第一步: 第二步: 点击 Edit Configuration 第三步 : 点击 + 选择python 填写相关参数信息 或者 点击ok  完成配置  重启 IDE 注意   重启IDE ...

  9. 【转载】Windows环境下JNI的实现实例

    转自:http://blog.csdn.net/jjunjoe/article/details/6987183 一.关于JNI: JNI(Java Native Interface):Java本地调用 ...

  10. mongo日常命令集锦

    查询某个字段是否存在 db.student.findOne({name:{$exists:true}}) db.student.findOne({'department.name':{$exists: ...