小记:艹蛋呢, 取long long的低30,32,34位都WA, 取31位才AC。

。。

思路:依据求数组中两个数异或最大值。參考

代码:

#include <stdio.h>
#include <string.h>
#define MAX(a,b) ((a)>(b)?(a):(b))
#define NODE 3200010
#define N 100010 int n;
int v[N];
int node;
int next[NODE][2];
int end[NODE];
void add(int cur,int k) {
    memset(next[node],0,sizeof(next[node]));
    end[node]=0;
    next[cur][k]=node++;
}
int cal(int x) {
    int i,k,cur=0;
    for(i=30; i>=0; i--) {
        k=((1<<i)&x)? 0:1;
        if(next[cur][k]) cur=next[cur][k];
        else    cur=next[cur][1-k];
    }     return end[cur];
} int main() {
    int n, i, ans, T, m, t,x, cur, j, k;
    scanf("%d", &T);
    for(int Ca = 1; Ca <= T; ++Ca) {
        scanf("%d%d", &n, &m);
        node=1;
        memset(next[0],0,sizeof(next[0]));
        for(i=0; i<n; i++) {
            scanf("%d",&x);
            v[i]=x;
            cur=0;
            for(j=30; j>=0; j--) {
                k=((1<<j)&x)?1:0;
                if(next[cur][k]==0) add(cur,k);
                cur=next[cur][k];
            }
            end[cur]=x;
        }
        
        printf("Case #%d:\n",Ca);
        for (i = 0; i < m; ++i) {
            scanf("%d", &t);
            ans = cal(t);
            printf("%d\n", ans);
        }
    }     return 0;
}

2014年百度之星程序设计大赛 - 资格赛 第三题 Xor Sum的更多相关文章

  1. 2014年百度之星程序设计大赛 - 资格赛 第二题 Disk Schedule

    双调欧几里得旅行商问题是一个经典动态规划问题.<算法导论(第二版)>思考题15-1和北京大学OJ2677都出现了这个题目. 旅行商问题描写叙述:平面上n个点,确定一条连接各点的最短闭合旅程 ...

  2. hdu 4825 Xor Sum (建树) 2014年百度之星程序设计大赛 - 资格赛 1003

    题目 题意:给n个数,m次询问,每次给一个数,求这n个数里与这个数 异或 最大的数. 思路:建一个类似字典数的数,把每一个数用 32位的0或者1 表示,查找从高位向底位找,优先找不同的,如果没有不同的 ...

  3. 2014年百度之星程序设计大赛 - 资格赛 1004 Labyrinth(Dp)

    题目链接 题目: Labyrinth Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  4. 2014年百度之星程序设计大赛 资格赛第一题 (longlong)

    解题思路: 只要看(A-V)*K 这个公式的更新值是否大于等于A ,大于的话继续循环,否则报错 注意一点,数据会爆int WA代码: #include<stdio.h> int main( ...

  5. 2014年百度之星程序设计大赛 - 资格赛 1002 Disk Schedule(双调欧几里得旅行商问题)

    Problem Description 有非常多从磁盘读取数据的需求,包含顺序读取.随机读取.为了提高效率,须要人为安排磁盘读取.然而,在现实中,这样的做法非常复杂.我们考虑一个相对简单的场景.磁盘有 ...

  6. 2014年百度之星程序设计大赛 - 资格赛 1001 Energy Conversion

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/sr19930829/article/details/26003661 Energy Conversi ...

  7. 2014年百度之星程序设计大赛 - 资格赛 第一题 Energy Conversion

    小记:long long %I64d 代码: #include <iostream> #include <stdio.h> #include <string.h> ...

  8. hdu 6082 度度熊与邪恶大魔王(2017"百度之星"程序设计大赛 - 资格赛 )

    度度熊与邪恶大魔王 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  9. 2017"百度之星"程序设计大赛 - 资格赛【1001 Floyd求最小环 1002 歪解(并查集),1003 完全背包 1004 01背包 1005 打表找规律+卡特兰数】

    度度熊保护村庄 Accepts: 13 Submissions: 488 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3276 ...

随机推荐

  1. Winfrom 文本框回车进入下一个个单元格(TextBox)

    1.重写方法 OnShown protected override void OnShown(EventArgs e) { base.OnShown(e); foreach (Control ct i ...

  2. Java+7入门经典 - 6 扩展类与继承 Part 1/2

    第6章 扩展类与继承 面向对象编程的一个重要特性: 允许基于已定义的类创建新的类; 6.1 使用已有的类 派生 derivation, 派生类 derived class, 直接子类 direct s ...

  3. 零基础数据分析与挖掘R语言实战课程(R语言)

    随着大数据在各行业的落地生根和蓬勃发展,能从数据中挖金子的数据分析人员越来越宝贝,于是很多的程序员都想转行到数据分析, 挖掘技术哪家强?当然是R语言了,R语言的火热程度,从TIOBE上编程语言排名情况 ...

  4. python学习教程(九)sqlalchemy框架的modern映射

    首先写一个modern.py文件, from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Col ...

  5. MySql自己定义排序

    查询语句: select id,name,stauts from special where id in (50,51,52,53,54,55) order by FIELD( id ,51,50, ...

  6. Git Hub,eclipse pull 出现问题

    一般在eclise里面使用geithub,之后会出现无法pull,或者pull 报错的问题.这里需要修改本地库的配置文件 The current branch is not configured fo ...

  7. zabbix 获取jvm session信息

    zabbix:/root# java -jar /root/cmdline-jmxclient-0.10.3.jar - 121x:5566 "Catalina:type=Manager,c ...

  8. js检测是否手机浏览的函数

    原文:js检测是否手机浏览的函数 查看一个web应用的时候查看源代码无意发现的,记录一下,万能什么时候能用得着呢! function isMobile() { var mobile = navigat ...

  9. jquery easyui Accordion的使用

    <html> <head> <script src="jquery-easyui/jquery.min.js"></script> ...

  10. mysql dump 参数

    mysql dump 参数: -R, --routines Dump stored routines (functions and procedures). 备份 函数和存储过程: -E, --eve ...