bestcoder r44 p3 hdu 5270 ZYB loves Xor II
这是昨晚队友跟我说的题,不知道当时是什么玄幻的事件发生了,,我看成了两两相乘的XOR 纠结了好长时间间 不知道该怎么办
今天早上看了下这道题,发现是两两相加的XOR 然后就想了想昨晚的思路 发现可做
对于 XOR 在我的记忆中 ,大部分的都是拆成数位来做
那么这题 。。。。 其实也是类似的
拆成数位。有两种拆法 将数据拆成数位和将答案拆成数位(其实就是考虑答案的每一位)
想了想将数据拆成数位··········
没法单独考虑每一位的‘功’
那就将考虑答案的每一位了
最好考虑的是第一位了
只有1+0 才能得到 1 也就是数数 a b数组 1 和 0 的个数了,
第2位呢? 如果两个数组前两位的值相加不小于2^1 并且小于2^2就行了。。他的第2位不就是1了么??
以此类推,,,每一位数1的个数。。。
开始写代码
wa
想了想原因 试了一下1 1 3 3 这组数据发现答案是4 又想了想,,
在考虑第2位,,2=<ai+bi<4 || 6=<ai+bi<8 才是对的,,,
然后以此类推,
又错了,,,怎么搞的?
确认算法没错之后,,看了看输入输出,,
好久没做题
#include <iostream>
#include <cstdio>
#include <string.h>
#include <algorithm> #define cl(a,b) memset(a,b,sizeof(a))
#define ll long long
#define ull unsigned long long
using namespace std; #define maxn 200005 ull aa[maxn],bb[maxn];
ull taa[maxn],tbb[maxn];
ull cc[],be[],en[];
int n; void initcc()
{
cl(cc,);
cc[]=;
be[]=;
en[]=;
for(int i=;i<=;i++)
{
cc[i]=cc[i-]*+;
be[i]=be[i-]*;
en[i]=en[i-]*;
}
// for(int i=0;i<62;i++)printf("%I64d %I64d %I64d\n",cc[i],be[i],en[i]);
} int main()
{
initcc();
int tt,ii;
cin>>tt;
ii=;
while(tt--)
{
scanf("%d",&n);
int i,j,k;
for(i=;i<n;i++)scanf("%llu",&aa[i]);
for(i=;i<n;i++)scanf("%llu",&bb[i]);
ull res=,bitc;
int s1,s2,e1,e2;
for(k=;k<;k++)
{
for(i=;i<n;i++)
{
taa[i]=aa[i]&cc[k];
tbb[i]=bb[i]&cc[k];
}
sort(taa,taa+n);
sort(tbb,tbb+n);
s1=n-;e1=n-;bitc=;
s2=n-;e2=n-;
for(i=;i<n;i++)
{
while(s1>=&&tbb[s1]+taa[i]>=be[k])s1--;
while(e1>=&&tbb[e1]+taa[i]>=en[k])e1--; while(s2>=&&tbb[s2]+taa[i]>=be[k]+en[k])s2--;
while(e2>=&&tbb[e2]+taa[i]>=en[k+])e2--; bitc+=e1-s1;
bitc+=e2-s2;
} res+=be[k]*(bitc%);
}
printf("Case #%d: %llu\n",++ii,res);
}
return ;
}
g++ 不支持 I64d???
无语了 换了输入输出
总算ac
bestcoder r44 p3 hdu 5270 ZYB loves Xor II的更多相关文章
- hdu 5269 ZYB loves Xor I
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission( ...
- hdu 5269 ZYB loves Xor I && BestCoder Round #44
题意: ZYB喜欢研究Xor,如今他得到了一个长度为n的数组A. 于是他想知道:对于全部数对(i,j)(i∈[1,n],j∈[1,n]).lowbit(AixorAj)之和为多少.因为答案可能过大,你 ...
- HDU 5269 ZYB loves Xor I Trie树
题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5269 bc:http://bestcoder.hdu.edu.cn/contests/con ...
- hdu 5269 ZYB loves Xor I(字典树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5269 思路分析:当lowbit(AxorB)=2p 时,表示A与B的二进制表示的0-p-1位相等,第p ...
- hdu 5269 ZYB loves Xor I 分治 || Trie
题目大意: 长度为\(n\)的数组A.求对于所有数对\((i,j)(i \in [1,n],j \in [1,n])\),\(lowbit(A_i xor A_j)\)之和.答案对998244353取 ...
- HDU 5269 ZYB loves Xor I (二分法)
题意: 给出一个序列,对每两个数求异或结果后取最低位的1出来作为一个数,然后求这些数字的和.比如:{a,b,c},结果是lowbit(a^b)+lowbit(a^c)+lowbit(b^a)+lowb ...
- HDU--5269 ZYB loves Xor I (字典树)
题目电波: HDU--5269 ZYB loves Xor I 首先我们先解决 ai xor aj 每个数转化为二进制 我们用字典树统计 每个节点 0 和 1 的出现的个数 #include< ...
- ZYB loves Xor I(hud5269)
ZYB loves Xor I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- ACM学习历程—HDU5269 ZYB loves Xor I(位运算 && dfs && 排序)(BestCoder Round #44 1002题)
Problem Description Memphis loves xor very musch.Now he gets an array A.The length of A is n.Now he ...
随机推荐
- nginx配置使其支持thinkphp的pathinfo模式
#user root;#user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log noti ...
- 线性表顺序存储方式的C语言实现
/* 编译器VC6++ 文件名1.cpp 代码版本号:1.0 时间:2015年9月14日16:39:21 */ #include <stdio.h> #include <stdlib ...
- 单/多行文本添加省略号 (o゚ω゚o)
1.单行文本添加省略号 一般用于新闻列表展示 li{ width: 200px; height: 30px; line-height: 30px; cursor: pointer; list-styl ...
- 2017-1-9css
2017-1-9css css border-image详解 http://www.360doc.com/content/14/1016/13/2792772_417403574.shtml 最简单的 ...
- java中值得类型转化
在Java编程过程,基本数据类型(boolean除外)的可以相互转化.其中: (1)低容量小的类型自动转换为容量大的数据类型:数据类型按容量大小排序为: byte,short,char->int ...
- Android 之 Spinner
1:activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi ...
- http状态码有那些?分别代表是什么意思
http状态码有那些?分别代表是什么意思? 简单版 [ 100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息 ...
- Set的并集
public static void main(String[] args) { Set<Long> old = new HashSet<>(); for (int i = 0 ...
- BZOJ3394: [Usaco2009 Jan]Best Spot 最佳牧场
3394: [Usaco2009 Jan]Best Spot 最佳牧场 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 11 Solved: 9[Sub ...
- WC2015流水账
THU那四场考试没考好,只有20+名.这也许是我OI生涯中最后一场吧(已确认是最后一场),真是感慨万千. day0 搬进浙大宿舍404房间(神房间号),四个人一间.中午发现学军伙食相当良心,是我参加的 ...