input

1<=T<=1000

3<=n<=1000

s1 s2 ... sn 0<=si<=10e9

最多十个样例n>=100

output

max((a[i]+a[j])^a[k]) i!=j!=k

做法,将s数组建成一颗01字典树,枚举a[i]+a[j]找最大,找之前要把a[i]和a[j]删掉,找完后再插入

 #include <cstdio>
#include <queue>
#include <cstring>
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <ctime>
#define bit 31 using namespace std; struct node
{
int c,l,r;
}; node a[];
int s[],n,T; void erase(int x)
{
int u=;
for(int i=bit;i>=;i--)
{
if(x&(<<i))
{
u=a[u].r;
a[u].c--;
}
else
{
u=a[u].l;
a[u].c--;
}
}
} void insert(int x)
{
int u=;
for(int i=bit;i>=;i--)
{
if(x&(<<i))
{
u=a[u].r;
a[u].c++;
}
else
{
u=a[u].l;
a[u].c++;
}
}
} int find(int x)
{
int ans=,u=;
for(int i=bit;i>=;i--)
{
if(x&(<<i))//bit位为1
{
if(a[u].l&&a[a[u].l].c)//能往左走就加1<<i
{
ans+=<<i;
u=a[u].l;
}
else u=a[u].r;//不能往左走就往右走
}
else
{
if(a[u].r&&a[a[u].r].c)
{
ans+=<<i;
u=a[u].r;
}
else u=a[u].l;
}
}
return ans;
} int main()
{
freopen("/home/user/桌面/in","r",stdin);
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
memset(a,,sizeof(a[])*(n+)*);
int root,idx=,maxd=-;
for(int i=;i<n;i++)//建树
{
scanf("%d",&s[i]);
root=;
for(int j=bit;j>=;j--)
{
if(s[i]&(<<j))
{
if(!a[root].r) a[root].r=idx++;
root=a[root].r;
a[root].c++;
}
else
{
if(!a[root].l) a[root].l=idx++;
root=a[root].l;
a[root].c++;
}
}
}
// for(int i=0;i<idx;i++) printf("%d %d %d\n",a[i].c,a[i].l,a[i].r);
// printf("%d\n",idx);
for(int i=;i<n;i++)
{
erase(s[i]);
for(int j=i+;j<n;j++)
{
erase(s[j]);
maxd=max(find(s[i]+s[j]),maxd);
insert(s[j]);
}
insert(s[i]);
}
printf("%d\n",maxd);
}
//printf("time=%.3lf",(double)clock()/CLOCKS_PER_SEC);
return ;
}

hdu 5536 xor题的更多相关文章

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

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

  2. HDU 3949 XOR [线性基|高斯消元]

    目录 题目链接 题解 代码 题目链接 HDU 3949 XOR 题解 hdu3949XOR 搞死消元找到一组线性无关组 消出对角矩阵后 对于k二进制拆分 对于每列只有有一个1的,显然可以用k的二进制数 ...

  3. HDU-1042-N!(Java大法好 &amp;&amp; HDU大数水题)

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Subm ...

  4. HDU 3949 XOR(高斯消元搞基)

    HDU 3949 XOR pid=3949" target="_blank" style="">题目链接 题意:给定一些数字,问任取几个异或值第 ...

  5. ACM学习历程—HDU 5536 Chip Factory(xor && 字典树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5536 题目大意是给了一个序列,求(si+sj)^sk的最大值. 首先n有1000,暴力理论上是不行的. ...

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

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

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

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

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

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

  9. hdu 5536 Chip Factory 字典树+bitset 铜牌题

    Chip Factory Time Limit: 18000/9000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)T ...

随机推荐

  1. deepin2014.1安装搜狗后却找不到图标及配置

    点开Input Method Configration; 点左下角添加输入法; 将Only  Ohow Current Language前 的勾去掉,选择出现的搜狗输入法. FYI.

  2. cmd alias 自定义命令

    简短步骤:1.关闭所有在运行的CMD窗口2.创建文件C:\cmd-alias.bat,包含以下内容:[python] view plain copydoskey sayhello=echo Hello ...

  3. 字符串长度截取换行/n

    /// <summary>        /// 格式化字符串长度,超出部分显示省略号,区分汉字跟字母.汉字2个字节,字母数字一个字节        /// </summary> ...

  4. ejabberd聊天室离线消息

    首先,xmpp服务器是基于ejabberd.离线消息模块是mod_interact,原地址地址:https://github.com /adamvduke/mod_interact: 修改后实现群聊离 ...

  5. Bmob Androidstudio配置

    AndroidStudio配置 鉴于目前Google官方推荐使用 Android Studio 进行Android项目开发,自 V3.4.2 开始,Bmob Android SDK 可以使用Gradl ...

  6. onmousedown活用之碰撞效果

    通过绝对定位,在页面中随意位置设置两个div; 也就是说div 是拖动的框,div1和div2是被触碰的框; <!DOCTYPE html> <html> <head&g ...

  7. 【Echarts每天一例】-1

    官方网址:http://echarts.baidu.com/doc/example/line1.html 使用百度echarts官方实例:http://ask.csdn.net/questions/1 ...

  8. 关于css的hack问题

    <!--[if <keywords>? IE <version>?]> HTML代码块 <![endif]--> 取值: <keywords> ...

  9. elipse图标注解

    Java中的访问修饰符(访问控制符)包括:public,protected,default,private.分别代表了不同的访问权限.如果省略,则被视为使用了默认的default作为访问修饰符.从字面 ...

  10. 有关webapplicationcontext的初始化

    ApplicationContext是Spring的核心,Context我们通常解释为上下文环境,我想用“容器”来表述它更容易理解一些,ApplicationContext则是“应用的容器”了:在We ...