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 ...
随机推荐
- PHP 过滤二维数组和三维数组
<?php $arr = [ [1,3,5,7,9], [2,4,6,8,0] ]; $arr2 = [ 'list' => [ [1,3,5,7], [2,4,6,8], [3,2,9, ...
- 新写PHP HTTP断点续传类文件代码
一个支持断点续传的PHP文件下载类文件,调用方法简单,类代码简洁,可记忆上次的下载的节点,实现累积下载,类名称download,类代码如下: function download($path,$file ...
- 一个使用CSocket类的网络通信实例
http://www.cppblog.com/changshoumeng/archive/2010/05/14/115413.html 3.8 一个使用CSocket类的网络通信实例 本例采用CSoc ...
- C++是怎么实现多态性的
C++是怎么实现多态性的,C++中多态实现的原理, 当一个类中有虚函数时,系统会为该类构造一个虚函数表vtable,他是一个指针数组,存放每个虚函数的入口地址,编译器还会在此类中隐含插入一个指针vpt ...
- 递归目录的shell脚本
#! /bin/sh # 在其他目录运行时一定要加上这样的语句 # 尤其是配置在crontab里自动运行 cd `` #定义数据别名 alias statdb="/usr/local/mys ...
- ubuntu新建某个目录的快捷方式到桌面,有三种方法
0. ln -sf /home/wjs ~/Desktop (wjs是我的登录用户名). 1. 在文件浏览器里 ,目录的右键有个make link 或 创建链接 ,然后cut or copy 到 桌面 ...
- new Date参数问题
new Date支持的参数: MDN: new Date(); new Date(value); new Date(dateString); new Date(year, month, ...
- 转;VC++中Format函数详解
Format是一个很常用,却又似乎很烦的方法,以下是它的完整概貌,以供大家查询之用: 一.字符串 首先看它的声明: function Format(const Format: string; cons ...
- Java Hibernate 之 Session 状态
Session接口是Hibernate向程序提供操纵数据库的最主要接口,是单线程对象,它提供了基本的保存.更新.删除和查询方法.它有一个缓存,保存了持久化对象,当清理缓存时,按照这些持久化对象同步更新 ...
- WPF Customize TabControl
有篇很好的文章 http://www.blogs.intuidev.com/post/2010/01/25/TabControlStyling_PartOne.aspx 详细介绍了如何Customiz ...