#905. 异或和

异或和

P14359 [CSP-J 2025] 异或和

题目描述

给定一个长度为 nn 的序列 a1,a2,,ana_1, a_2, \ldots, a_n 和一个整数 kk

你需要从中选出尽可能多的不重叠的连续子区间,使得每个子区间的异或和都等于 kk

求最多能选出多少个这样的子区间。

输入格式

第一行两个正整数 n,kn, k

第二行 nn 个正整数 a1,a2,,ana_1, a_2, \ldots, a_n

输出格式

输出一个整数表示最多能选出的子区间个数。

样例

样例输入 #1

5 2
1 2 3 4 5

样例输出 #1

1

数据范围

  • 1n5×1051 \leq n \leq 5 \times 10^5
  • 0k<2200 \leq k < 2^{20}
  • 0ai<2200 \leq a_i < 2^{20}

提示

标签: 前缀异或, 哈希表, 贪心

难度: 普及/提高−

来源: CSP-J 2025