AT_diverta2019_e XOR Partitioning
题目描述
定义长度为 $n$ 的数列 $a$ 的*美丽值*为 $a_1\ \oplus\ a_2\ \oplus\ \cdots\ \oplus\ a_{n}$,其中 $\oplus$ 表示按位异或运算。
给定一个长度为 $N$ 的数列 $A$。すぬけ君想要在 $A$ 中插入 $0$ 个或多个分隔符,将其分割成若干个非空的连续子序列。
插入分隔符的方法共有 $2^{N-1}$ 种。在这些方法中,要求所有被分割出来的子序列的美丽值都相等。请计算满足条件的分割方法数,并对 $10^9+7$ 取模。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
请输出答案。
说明/提示
## 限制条件
- 所有输入均为整数。
- $1 \leq N \leq 5 \times 10^5$
- $0 \leq A_i < 2^{20}$
## 样例解释 1
满足条件的分割方法有以下 $3$ 种。仅当分割为 $(1),(2),(3)$ 时,所有子序列的美丽值不相等。
- $(1,2,3)$
- $(1),(2,3)$
- $(1,2),(3)$
## 样例解释 3
请计算满足条件的方法数,并对 $10^9+7$ 取模。
由 ChatGPT 4.1 翻译