You are given two integer sequences, each of length Na1,…,aN and b1,…,bN.

There are N2 ways to choose two integers i and j such that 1≤i,jN. For each of these N2 pairs, we will compute ai+bj and write it on a sheet of paper. That is, we will write N2 integers in total.

Compute the XOR of these N2 integers.

Definition of XOR

Constraints

  • All input values are integers.
  • 1≤N≤200,000
  • 0≤ai,bi<228

Input

Input is given from Standard Input in the following format:

N
a1 a2 … aN
b1 b2 … bN

Output

Print the result of the computation.

Sample Input 1

2
1 2
3 4

Sample Output 1

2

On the sheet, the following four integers will be written: 4(1+3),5(1+4),5(2+3)and 6(2+4).

Sample Input 2

6
4 6 0 0 3 3
0 5 6 5 0 3

Sample Output 2

8

Sample Input 3

5
1 2 3 4 5
1 2 3 4 5

Sample Output 3

2

Sample Input 4

1
0
0

Sample Output 4

0

初看本题时以为 本题有又是一道找规律的亦或题目

但是当把表打出来之后发现这是并不能轻易的推出规律

看了题解用了半天才真正理解了这道题

对于本题的暴力方法一定是不行的

那么我们考虑按位来得出答案

我们对每个b对1<<m 取余

在对所有的a[i]+b[j]中进行二分

若啊a[i]+b[j]在mod/2的一倍和二倍之间

或者三倍和四倍之间 他对这一位就是一

如果跑完一遍发现这一位中有n个1

那么我们这ans中的这一位就是1

否则就是零

代码

#include<bits/stdc++.h>
using namespace std;
int a[200005];
int b[200005];
vector<int> ve;
int main()
{int ans=0;int n;scanf("%d",&n);for(int i=1; i<=n; i++)scanf("%d",&a[i]);for(int i=1; i<=n; i++)scanf("%d",&b[i]);long long tmp=0;for(int i=0; i<=29; i++){ve.clear();int mod=(1<<(i+1));for(int j=1; j<=n; j++)ve.push_back(b[j]%mod);mod/=2;sort(ve.begin(),ve.end());tmp=0;for(int j=1; j<=n; j++){int tmpl,tmpr;tmpl=lower_bound(ve.begin(),ve.end(),mod*1-a[j]%(mod*2))-ve.begin()-1;tmpr=lower_bound(ve.begin(),ve.end(),mod*2-a[j]%(mod*2))-ve.begin()-1;tmp+=tmpr-tmpl;tmpl=lower_bound(ve.begin(),ve.end(),mod*3-a[j]%(mod*2))-ve.begin()-1;tmpr=lower_bound(ve.begin(),ve.end(),mod*4-a[j]%(mod*2))-ve.begin()-1;tmp+=tmpr-tmpl;}if(tmp%2==1) ans=(1<<i)|ans;}printf("%d\n",ans);}

Two Sequences (二分+二进制) (好题)相关推荐

  1. Subset POJ - 3977(折半枚举+二分+二进制枚举)

    题意: 给你一个集合N(N<=35),问集合的子集,除了空集,使得自己中所有元素和的绝对值最小,若存在多个值,那么选择子集中元素最少的那个. 题目: Given a list of N inte ...

  2. 51NOD 1278 相离的圆(二分 + 排序 好题)

    平面上有N个圆,他们的圆心都在X轴上,给出所有圆的圆心和半径,求有多少对圆是相离的. 例如:4个圆分别位于1, 2, 3, 4的位置,半径分别为1, 1, 2, 1,那么{1, 2}, {1, 3} ...

  3. BZOJ 4180: 字符串计数 后缀自动机 + 矩阵乘法 + 二分(神题)

    Description SD有一名神犇叫做Oxer,他觉得字符串的题目都太水了,于是便出了一道题来虐蒟蒻yts1999. 他给出了一个字符串T,字符串T中有且仅有4种字符 'A', 'B', 'C', ...

  4. PAT甲级1012 The Best Rank :[C++题解]4个成绩取排名最低:排序、二分(好题)

    文章目录 题目分析 题目链接 题目分析 遇到的问题:信息存在结构体(✖)中,然后排名呢?需要分别对 C.M.E.A排四次吗? 这里成绩的存储 用二维数组 vector<int> q[4]; ...

  5. Minimax Problem(二分+二进制状态压缩)

    You are given n arrays a1, a2, -, an; each array consists of exactly m integers. We denote the y-th ...

  6. 二分答案二题-P1182数列分段II,P1873砍树

    T1:P1182T1:P1182T1:P1182 数列分段SectionIISectionIISection II 评测记录:https://www.luogu.org/recordnew/lists ...

  7. UVALive 6525 Attacking rooks 二分匹配 经典题

    题目链接:点击打开链接 题意: 给定n*n的棋盘, 能够在'.'上摆 象棋中的车(X是墙壁) 使得随意两个车都不能互相攻击到 问:最多能摆多少个车. 思路: 二分匹配 1.若没有X.那么做法就是 X点 ...

  8. Megacity(二分答案简单题之杨氏代码)

    题目描述: The administration of the Tomsk Region firmly believes that it's time to become a megacity (th ...

  9. 经典题:poj2104-区间第k小 整体二分学习

    写在前面 区间第k小 可以说是一个很经典的数据结构题了,这道题有很多种解法比如莫队离线.主席树.整体二分等等. 之前用莫队和主席树写过这道题,今天来学习一个以前不会的算法--整体二分. 因为最近遇到一 ...

最新文章

  1. 域控制器服务器端和客户端设置
  2. java web系统拆分_Java系统中如何拆分同步和异步
  3. hadoop配置后无法通过主机名:50070访问,只能通过ip:50070访问
  4. ASP.NET MVC 阻止通过URL访问服务器上的静态资源文件
  5. SU sunmo命令学习
  6. checkbox 多选 mysql 搜索_mySQL技术的方方面面,不管是应用还是面试,看这一文就够了...
  7. 国庆海报设计适合哪些精品背景纹理?
  8. ?Sized 和 Sized
  9. everything搭配什么软件_重磅推荐一款神级工具软件!有了它,90%的软件都可以卸载了!...
  10. python经典程序实例-Python3经典100例(③)
  11. 虚幻引擎4 DEMO打包下载
  12. matlab确定物体影子,用MATLAB浅析太阳影子定位问题
  13. 力扣刷题 DAY_68 回溯
  14. 2022最新仿绚丽彩虹音乐播放器完整源码
  15. C语言例题——简易计算器
  16. 李彦宏:为理想找到归宿
  17. 有MDF文件和LDF文件之后怎么创建数据库
  18. 大数据全系技术知识概览
  19. Vanish CDN
  20. 杰理之linein LAC底噪【篇】

热门文章

  1. react-native入门之使用图片
  2. 透过华为军团看科技之变(一):广域网络
  3. python导出dxf图_利用Dxfwrite/ezdxf操作CAD文件!
  4. linux中sed怎么反选,awk的批量replace功能
  5. C语言:弗洛伊德算法
  6. C语言 将大写字母转换成相应的小写字母
  7. 受控电源(SOC PWM调压SVB)计算工具CVC使用说明
  8. 把金额类型转换成大写和英文
  9. 美泰推出首款获CarbonNeutral(R)认证的Matchbox(R) Tesla Roadster压铸模型车,使用9
  10. 记录一个Xcode上传App报错的问题