hdu_5968_异或密码(预处理+二分)
题目链接:hdu_5968_异或密码
题意:
中午,不解释
题解:
前缀处理一下异或值,然后上个二分查找就行了,注意是unsigned long long
#include<bits/stdc++.h>
#define F(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
typedef long long ll; const int N=;
int t,dp[N],a[N],n,m,tp; struct dt
{
int val,len;
bool operator<(const dt &b)const
{
return val<b.val;
}
}s[N*N],ttp;
bool cmp(dt a,dt b)
{
if(a.val==b.val)return a.len>b.len;
return a.val<b.val;
}
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
F(i,,n)scanf("%d",a+i);
F(i,,n)dp[i]=dp[i-]^a[i];
int ed=;
F(j,,n)F(k,j,n)
{
s[++ed].val=dp[k]^dp[j-];
s[ed].len=k-j+;
}
sort(s+,s++ed,cmp);
scanf("%d",&m);
F(i,,m)
{
scanf("%d",&tp);
ttp.val=tp;
int now1=lower_bound(s+,s++ed,ttp)-s,ans;
int now2=now1-;
now2=lower_bound(s+,s++ed,s[now2])-s;
if(now1>ed)now1=ed;
int n1=abs(s[now1].val-tp),n2=abs(s[now2].val-tp);
if(n1>n2)ans=now2;
else if(n1<n2)ans=now1;
else if(s[now1].len>s[now2].len)ans=now1;
else ans=now2;
printf("%d\n",s[ans].len);
}
puts("");
}
return ;
}
hdu_5968_异或密码(预处理+二分)的更多相关文章
- HDU5968 异或密码 —— 二分 + 边界的细节处理
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5968 异或密码 Time Limit: 2000/1000 MS (Java/Others) M ...
- HDU 5968 异或密码
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- HDU 5968 异或密码 【模拟】 2016年中国大学生程序设计竞赛(合肥)
异或密码 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Des ...
- [HDU5968]异或密码
[HDU5968]异或密码 题目大意: 数据共\(T(T\le100)\)组.每组给定一个长度为\(n(n\le100)\)的非负整数序列\(A(A_i\le1024)\),\(m(m\le100)\ ...
- 异或密码---hdu5968(CCPC合肥,二分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5968 思路:先把所有的连续异或值保存起来,排序,然后用二分找到距离x最近的那个点,判断即可: # ...
- loj 1150(spfa预处理+二分+最大匹配)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26864 思路:首先是spfa预处理出每个'G'到'H'的最短距离, ...
- poj 3501 Escape from Enemy Territory 预处理+二分+bfs
传送门 给一个起点一个终点, 给出整个地图的宽和高, 给出n个敌人的坐标. 让你找到一条路径, 这条路径上的点距离所有敌人的距离都最短, 输出最短距离. 首先预处理出来地图上的所有点到敌人的最短距离, ...
- HDU 5878 I Count Two Three (预处理+二分查找)
题意:给出一个整数nnn, 找出一个大于等于nnn的最小整数mmm, 使得mmm可以表示为2a3b5c7d2^a3^b5^c7^d2a3b5c7d. 析:预处理出所有形为2a3 ...
- SGU 531 - Bonnie and Clyde 预处理+二分
Bonnie and Clyde Description Bonnie and Clyde are into robbing banks. This time their target is a to ...
随机推荐
- awk-模式匹配
使用awk作为文本处理工具,正则表达式是少不了的. 要掌握这个工具的正则表达式使用.其实,我们不必单独去学习它的正则表达式.正则表达式就像一门程序语言,有自己语法规则已经表示意思. 对于不同工具,其实 ...
- JqGrid在行中自定义自己的东西
$.fn.fmatter.actions = function(cellval, opts) { function baseOption(obj) { return { url: obj.url || ...
- python爬虫---python3.5---eclipse
解析中文会出现\xbe\c8\90\hd........ 这个和你的编码选择有关.如果是解析成html,则需 fout = open('output.html', 'w',encoding='utf- ...
- Django回忆录
Django使用回忆: 1.安装django: pip install django==1.9 2.创建项目及应用: django-admin startproject web django-admi ...
- emacs 使用教程
http://www.cnblogs.com/liuchaogege/p/4464211.html
- centos7下引导win7
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry &q ...
- Scala 中Null, None, Nothing, Nil
转自:http://blog.csdn.net/bluejoe2000/article/details/30465175 在scala中这四个类型名称很类似,作用确实完全不同的. None是一个obj ...
- (转载)ANDROID STRINGS.XML 中的特殊字符转义
今天项目碰到个转义特殊字符的问题,网上搜索看到,故转载,已标明出处: 项目中要在string.xml 中显示特殊符号.如@号冒号等.直接写肯定不行啦 只能考虑使用ASCII码进行显示.在XML中空格符 ...
- DOM小解
现在来说说DOM 文档对象模型DOM(Document Object Model)定义访问和处理html文档的标准方法.DOM将html文档呈现为带有元素 ,属性和文本的树结构(节点树) 先来看看 ...
- some idea for my personal page
firstly, dump the old personal page source from Github to Dropbox.then the idea is: 1: make a fake s ...