题意:就是公式。

这现场赛O(n^3)能过,觉得太没天理了。

做法:字典树,枚举两个数,然后在字典树上贪心的跑。

#include <bits/stdc++.h>

using namespace std;

const int MAXN = ;

struct Trie {
int ch[],size;
}T[MAXN]; int root = ,tot = ; void Insert(int x) {
int o = root;
T[o].size++; for(int k = ; k >=; k--) {
int c;
if(x&(<<k)) c = ;
else c = ;
if(!T[o].ch[c]) T[o].ch[c] = ++tot;
o = T[o].ch[c];
T[o].size++;
}
} void Delete(int x) {
int o = root;
T[o].size--; for(int k = ; k >=; k--) {
int c;
if(x&(<<k)) c = ;
else c = ;
o = T[o].ch[c];
T[o].size--;
}
} int Query(int x) {
int o = root;
for(int k = ; k >=; k--) {
int c;
if(x&(<<k)) c = ;
else c = ;
if(c==) {
if(T[o].ch[]&&T[T[o].ch[]].size) o = T[o].ch[];
else o = T[o].ch[],x^=(<<k);
}
else {
if(T[o].ch[]&&T[T[o].ch[]].size) o = T[o].ch[],x^=(<<k);
else o = T[o].ch[];
}
}
return x;
} int a[MAXN]; int main()
{
//freopen("in.txt","r",stdin);
int T_T,n;
scanf("%d",&T_T);
while(T_T--) {
scanf("%d",&n);
int ans = ;
for(int i = ; i <= n; i++) scanf("%d",&a[i]);
for(int i = ; i <= n; i++)
Insert(a[i]); for(int i = ; i <= n; i++) {
Delete(a[i]);
for(int j = i+; j <= n; j++) {
Delete(a[j]);
ans = max(ans,Query(a[i]+a[j]));
Insert(a[j]);
}
Insert(a[i]);
}
printf("%d\n",ans);
for(int i = ; i<=tot; i++) T[i].ch[] = T[i].ch[] = T[i].size = ;
tot = ;
}
return ;
}

HDU 5536 字典树的更多相关文章

  1. Chip Factory HDU - 5536 字典树(删除节点|增加节点)

    题意: t组样例,对于每一组样例第一行输入一个n,下面在输入n个数 你需要从这n个数里面找出来三个数(设为x,y,z),找出来(x+y)^z(同样也可以(y+z)^1)的最大值 ("^&qu ...

  2. HDU 5687 字典树插入查找删除

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5687 2016百度之星资格赛C题,直接套用字典树,顺便巩固了一下自己对字典树的理解 #include< ...

  3. HDU 5384 字典树、AC自动机

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5384 用字典树.AC自动机两种做法都可以做 #include<stdio.h> #includ ...

  4. hdu 2112(字典树+最短路)

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  5. hdu 2072(字典树模板,set,map均可做)

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=2072 lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词 ...

  6. hdu 1251 字典树的应用

    这道题看了大神的模板,直接用字典树提交的会爆内存,用stl 里的map有简单有快 #include <iostream> #include <map> #include < ...

  7. hdu 2896 字典树解法

    #include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> ...

  8. Repository HDU - 2846 字典树

    题意:给出很多很多很多很多个 单词 类似搜索引擎一下 输入一个单词 判断有一个字符串包含这个单词 思路:字典树变体,把每个单词的后缀都扔字典树里面,这里要注意dd是一个单词 但是把d 和dd都放字典树 ...

  9. Phone List HDU - 1671 字典树

    题意:给出一堆一组一组的数字  判断有没有哪一个是另外一个的前缀 思路:字典树 插入的同时进行判断  不过 当处理一组数字的时候 需要考虑的有两点1.是否包含了其他的序列2.是否被其他序列包含 刚开始 ...

随机推荐

  1. PIE SDK分类合并

    1. 算法功能简介 分类合并功能是将分类文件中所设置的对应类别进行合并. PIE SDK支持算法功能的执行,下面对分类合并算法功能进行介绍. 2. 算法功能实现说明 2.1. 实现步骤 第一步 算法参 ...

  2. 使用Verilog描述RTL图

    题目要求 分别用两种方式表达此电路: 1)在一个模块中用两个过程来表达: 2)用顶层文件和例化语句的形式来表达. 给出下面RTL图的verilog描述. 1)纯过程语句描述 2)纯连续赋值语句描述 参 ...

  3. linux 输出 之 nl 命令

    1.命令格式:nl [选项]... [文件]... 2.命令参数: -b  :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n): -b t :如果 ...

  4. CSS布局——左定宽度右自适应宽度并且等高布局

    方法一: 别的不多说,直接上代码,或者参考在线DEMO,下面所有的DEMO都有HTML和CSS代码,感兴趣的同学自己慢慢看吧. HTML Markup <div id="contain ...

  5. HAProxy advanced Redis health check---ref

    http://blog.exceliance.fr/2014/01/02/haproxy-advanced-redis-health-check/ HAProxy advanced Redis hea ...

  6. ACdream 1098——圆有点挤——————【数学计算】

    圆有点挤 Time Limit:1000MS     Memory Limit:64000KB     64bit IO Format:%lld & %llu Submit Status Pr ...

  7. 【VMware】安装不同系统的虚拟机出现开机黑屏的情况

    解决方法一: 1.以管理员身份运行命令提示符(cmd.exe),输入命令 netsh winsock show catalog 按下回车键执行命令(可以看到VMware注册了两个LSP:vSocket ...

  8. 5、栅格布局:ion-grid

    /* --- html ----*/ <ion-content class="tabs"> <ion-grid> <h1>没有 warp 的 i ...

  9. C# 如何提取SaveFileDialog的保存路径?

    public TestOne() { InitializeComponent(); SaveFileDialog();//调用打开SaveFileDialog 保存对话框 } #region 保存对话 ...

  10. BulletedList用途

    1.用作最普通的信息显示(列表方式) 2.制作导航条 BulletedList3中模式 1.Text 文本 2.HyperLink 连接 2.LinkButton 按钮 BulletedList 导航 ...