首页 > 试题广场 >

子段异或

[编程题]子段异或
  • 热度指数:8 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
输入一个数列a,你需要输出其中异或值为0的不同子段的数量。一个子段 [l,r] ()的异或值为,其中符号代表异或运算
两个子段被视为相同的,当且仅当其开始和结束位置均对应相同。

输入描述:
第一行一个整数 n ,代表数列长度。
第二行 n 个整数,代表数列。


输出描述:
输出一个整数,代表答案。
示例1

输入

5
1 2 3 2 1

输出

2

说明

子段 [1,3] 和子段 [3,5] 是合法子段。

备注:

这道题你会答吗?花几分钟告诉大家答案吧!