编程题
### 问题描述 小然有一个长度为 $N$ 的整数数组 $A$。 现在,他想要从 $A$ 中移除一些元素(也可以不移除任何元素),得到一个新的数组 $B$。 如果对于所有的 $1 \leq i \leq j \leq |B|$,子数组 $B[i, j]$ 中的所有元素之和都能被 $2$ 整除,那么我们称这样的移除操作是好的。 你的任务是找出有多少种好的移除操作。由于答案可能非常大,所以请你将答案对 $10^9 + 7$ 取模后输出。 ### 输入格式 第一行输入一个整数 $T$,表示测试用例的数量。 每个测试用例包含两行: - 第一行输入一个整数 $N$,表示数组的长度。 - 第二行输入 $N$ 个整数,分别是 $A_1$,$A_2$,...,$A_N$,表示数组 $A$。 ### 输出格式 对于每个测试用例,输出一行,表示好的移除操作的数量对 $10^9 + 7$ 取模后的结果。 ### 样例输入 ```text 2 3 2 1 4 3 1 2 3 ``` ### 样例输出 ```text 4 2 ``` ### 说明 样例中的第二个测试用例:存在 $2$ 种好的移除操作,分别是移除元素 $1$ 和 $3$,以及移除所有元素。 ### 评测数据范围 $1 \leq T \leq 10^4$。 $1 \leq N \leq 2 \times 10^5$。 $0 \leq A_i \leq 2 \times 10^5$。 所有测试用例中 $N$ 的和不超过 $2 \times 10^5$。
查看答案
赣ICP备20007335号-2