B. 异或区间

    传统题 文件IO:xor 1000ms 256MiB

异或区间

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

⊕ 代表异或(xor)运算,运算规则为:

  • 当只有一个比特参与异或运算时, 0000 = 000011 = 111100 = 111111 = 00(相同为00,相异为11);

  • 当有多个比特参与异或运算时,对应位独立进行异或运算,如 0101010110111011 = 11101110

题目描述

给定一个长度为n的序列a1,a2,,ana_1,a_2,…,a_n,求这个序列有多少个区间 lrl≤r 满足以下条件:

al+al+1++ar=alal+1ara_l+a_{l+1}+⋯+a_r=a_l⊕a_{l+1}⊕⋯⊕a_r

输入格式

第一行:单个整数表示 nn

第二行:nn 个整数表示 a1,a2,,ana_1,a_2,…,a_n

输出格式

单个整数表示答案。

4
1 2 4 2
8
3
1 1 8
4

数据规模与约定

30% 的数据,1n1001≤n≤100

60% 的数据,1n20001≤n≤2000

100% 的数据,1n300,0000ai<2301≤n≤300,000,0≤a_i<2^{30}

暑假比赛二十五

未参加
状态
已结束
规则
IOI
题目
5
开始于
2026-8-7 14:00
结束于
2026-8-8 2:00
持续时间
12 小时
主持人
参赛人数
10