第二集:以后我就叫你小蛤了

TimeLimit:1000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

"小蛤啊,对了以后我就叫你小蛤了,你给的题完全没有难度啊"

"哼,你别得意,让你碰巧做出来了而已,接下来这题你绝对不可能做出来的,你要是做出来了balabalabala...."

"行了行了,快说题目吧,我时间宝贵啊!" 小A心急如焚,想尽快知道小C的消息

"请听题:

给n个正整数a1,a2,a3,……,an,求所有子区间异或和的异或和。比如{2,4,6}的子区间有{{2},{4},{6},{2,4},{4,6},{2,4,6}}

其中异或是按位异或,即C/C++中的"^"运算符"


"这么简单,看我三下五除二解决了这题,三分钟后你就叫小蛤没得商量了!你答应给我,告诉我小C的消息可不许反悔!"

"哼,爷蛤蟆大仙是那种会反悔的人吗,而且你不可能会做这题的,看你一会怎么给自己找台阶下!"

注意异或有两个常用的性质(下面的"^"代表异或运算)

  1.   a^a=0

  2.   a^0=a


Input

单组数据

开头是一个整数n代表n个数字,n<=5*105

接下来有n个数a1,a2,a3,……an  ,(0<=ai<230


Output

输出所有子区间异或和的异或和

SampleInput
4
3 3 6 7
SampleOutput
0
hint:
所有子区间与对应的异或和如下:
{3}                    3
{3,3}                  0
{3,3,6}                6
{3,3,6,7}              1
{3}                    3
{3,6}                  5
{3,6,7}                2
{6}                    6
{6,7}                  1
{7}                    7

所以答案=3^0^6^1^3^5^2^6^1^7=0
Submit
题目统计信息详细
总AC数113
通过人数87
尝试人数104
总提交量331
AC率26.28%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: