AT_ttpc2024_1_k Sum is One
题目描述
给定一个由 $0$ 和 $1$ 组成的长度为 $N$ 的数列 $A = (A_1, A_2, \dots, A_N)$。定义一个包含 $\frac{N (N - 1)}{2}$ 个顶点的简单无向图 $G = (V, E)$ 如下:
- 对于满足 $1 \leq i < j \leq N$ 的任意整数对 $(i, j)$,$(i, j) \in V$。我们将这个顶点称为顶点 $(i, j)$。
- 对于满足 $1 \leq i < j < k \leq N$ 且 $A_i + A_j + A_k = 1$ 的任意整数三元组 $(i, j, k)$,存在一条连接顶点 $(i, j)$ 和顶点 $(j, k)$ 的边。
- 除此之外的顶点对之间没有边。
请计算图 $G$ 的连通分量个数。
共有 $T$ 个测试用例,对于每个测试用例,请分别求解答案。
输入格式
输入从标准输入以以下格式给出:
> $T$
> $\text{case}_1$
> $\text{case}_2$
> $\vdots$
> $\text{case}_T$
其中,$\text{case}_i$ 表示第 $i$ 个测试用例。每个测试用例的格式如下:
> $N$
> $A_1$ $A_2$ $\cdots$ $A_N$
输出格式
对于每个测试用例,输出答案。
说明/提示
### 约束
- 所有输入均为整数
- $1 \leq T \leq 10^5$
- $3 \leq N \leq 10^6$
- $A_i$ 为 $0$ 或 $1$ ($1 \leq i \leq N$)
- 单个输入中所有测试用例的 $N$ 的总和不超过 $10^6$
### 部分分
如果在满足以下约束的数据集上正确解答,则可以获得 $30$ 分:
- $1 \leq T \leq 1000$
- $3 \leq N \leq 5000$
- 单个输入中所有测试用例的 $N$ 的总和不超过 $5000$
### 样例解释 1
对于第一个测试用例,连通分量如下:
- $\lbrace (1,2), (2,3), (2,4), (2,5), (3,4), (4,5) \rbrace$
- $\lbrace (1,3), (3,5) \rbrace$
- $\lbrace (1,4) \rbrace$
- $\lbrace (1,5) \rbrace$
对于第二个测试用例,图中没有边,因此连通分量的个数为 $10$。