CF1485F Copy or Prefix Sum

题目描述

给定一个整数数组 $b_1, b_2, \ldots, b_n$。 如果一个整数数组 $a_1, a_2, \ldots, a_n$ 满足对于每个 $i$($1 \leq i \leq n$),至少满足以下两个条件之一: - $b_i = a_i$,或者 - $b_i = \sum_{j=1}^{i} a_j$, 则称该数组为“混合数组”。 请你计算有多少个“混合数组” $a_1, a_2, \ldots, a_n$。由于答案可能很大,请输出对 $10^9 + 7$ 取模后的结果。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 每个测试用例的第一行包含一个整数 $n$($1 \le n \le 2 \times 10^5$)。 每个测试用例的第二行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($-10^9 \le b_i \le 10^9$)。 保证所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。

输出格式

对于每个测试用例,输出一个整数,表示“混合数组” $a_1, a_2, \ldots, a_n$ 的数量,对 $10^9 + 7$ 取模。

说明/提示

在第一个测试用例中,混合数组有 $[1, -2, 1]$,$[1, -2, 2]$,$[1, -1, 1]$。 在第二个测试用例中,混合数组有 $[1, 1, 1, 1]$,$[1, 1, 1, 4]$,$[1, 1, 3, -1]$,$[1, 1, 3, 4]$,$[1, 2, 0, 1]$,$[1, 2, 0, 4]$,$[1, 2, 3, -2]$,$[1, 2, 3, 4]$。 在第四个测试用例中,唯一的混合数组是 $[0, 0, 0, 1]$。 由 ChatGPT 4.1 翻译