2014年百度之星程序设计大赛 - 资格赛 第三题 Xor Sum
小记:艹蛋呢, 取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的更多相关文章
- 2014年百度之星程序设计大赛 - 资格赛 第二题 Disk Schedule
双调欧几里得旅行商问题是一个经典动态规划问题.<算法导论(第二版)>思考题15-1和北京大学OJ2677都出现了这个题目. 旅行商问题描写叙述:平面上n个点,确定一条连接各点的最短闭合旅程 ...
- hdu 4825 Xor Sum (建树) 2014年百度之星程序设计大赛 - 资格赛 1003
题目 题意:给n个数,m次询问,每次给一个数,求这n个数里与这个数 异或 最大的数. 思路:建一个类似字典数的数,把每一个数用 32位的0或者1 表示,查找从高位向底位找,优先找不同的,如果没有不同的 ...
- 2014年百度之星程序设计大赛 - 资格赛 1004 Labyrinth(Dp)
题目链接 题目: Labyrinth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 2014年百度之星程序设计大赛 资格赛第一题 (longlong)
解题思路: 只要看(A-V)*K 这个公式的更新值是否大于等于A ,大于的话继续循环,否则报错 注意一点,数据会爆int WA代码: #include<stdio.h> int main( ...
- 2014年百度之星程序设计大赛 - 资格赛 1002 Disk Schedule(双调欧几里得旅行商问题)
Problem Description 有非常多从磁盘读取数据的需求,包含顺序读取.随机读取.为了提高效率,须要人为安排磁盘读取.然而,在现实中,这样的做法非常复杂.我们考虑一个相对简单的场景.磁盘有 ...
- 2014年百度之星程序设计大赛 - 资格赛 1001 Energy Conversion
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/sr19930829/article/details/26003661 Energy Conversi ...
- 2014年百度之星程序设计大赛 - 资格赛 第一题 Energy Conversion
小记:long long %I64d 代码: #include <iostream> #include <stdio.h> #include <string.h> ...
- hdu 6082 度度熊与邪恶大魔王(2017"百度之星"程序设计大赛 - 资格赛 )
度度熊与邪恶大魔王 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 2017"百度之星"程序设计大赛 - 资格赛【1001 Floyd求最小环 1002 歪解(并查集),1003 完全背包 1004 01背包 1005 打表找规律+卡特兰数】
度度熊保护村庄 Accepts: 13 Submissions: 488 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3276 ...
随机推荐
- Winfrom 文本框回车进入下一个个单元格(TextBox)
1.重写方法 OnShown protected override void OnShown(EventArgs e) { base.OnShown(e); foreach (Control ct i ...
- Java+7入门经典 - 6 扩展类与继承 Part 1/2
第6章 扩展类与继承 面向对象编程的一个重要特性: 允许基于已定义的类创建新的类; 6.1 使用已有的类 派生 derivation, 派生类 derived class, 直接子类 direct s ...
- 零基础数据分析与挖掘R语言实战课程(R语言)
随着大数据在各行业的落地生根和蓬勃发展,能从数据中挖金子的数据分析人员越来越宝贝,于是很多的程序员都想转行到数据分析, 挖掘技术哪家强?当然是R语言了,R语言的火热程度,从TIOBE上编程语言排名情况 ...
- python学习教程(九)sqlalchemy框架的modern映射
首先写一个modern.py文件, from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Col ...
- MySql自己定义排序
查询语句: select id,name,stauts from special where id in (50,51,52,53,54,55) order by FIELD( id ,51,50, ...
- Git Hub,eclipse pull 出现问题
一般在eclise里面使用geithub,之后会出现无法pull,或者pull 报错的问题.这里需要修改本地库的配置文件 The current branch is not configured fo ...
- zabbix 获取jvm session信息
zabbix:/root# java -jar /root/cmdline-jmxclient-0.10.3.jar - 121x:5566 "Catalina:type=Manager,c ...
- js检测是否手机浏览的函数
原文:js检测是否手机浏览的函数 查看一个web应用的时候查看源代码无意发现的,记录一下,万能什么时候能用得着呢! function isMobile() { var mobile = navigat ...
- jquery easyui Accordion的使用
<html> <head> <script src="jquery-easyui/jquery.min.js"></script> ...
- mysql dump 参数
mysql dump 参数: -R, --routines Dump stored routines (functions and procedures). 备份 函数和存储过程: -E, --eve ...