P12608 骷髅打金服
题目背景
下图是一个经典算法的错误实现。
题目描述
长为 $n$ 的序列 $a$ 的一个非空连续子段是合法的,当且仅当其中**所有出现过的元素**出现次数全相等。
求合法的非空子段个数。两个子段不同当且仅当它们在原序列中的出现位置不同。
输入格式
第一行一个整数 $T$,表示数据组数。
接下来 $T$ 组数据,每组数据格式如下:
第一行一个整数 $n$。
接下来一行 $n$ 个整数,描述序列 $a$。
输出格式
$T$ 行,每行一个整数,表示一组数据的答案。
说明/提示
### 样例解释 #1
对于第三组数据,合法的连续非空子序列如下:
- $[1,1]$
- $[1,2]$
- $[1,4]$
- $[2,2]$
- $[2,3]$
- $[2,5]$
- $[3,3]$
- $[3,4]$
- $[4,4]$
- $[4,5]$
- $[5,5]$
### 数据范围
本题采取子任务依赖,未通过当前子任务依赖的子任务会导致当前子任务得零分。
对于 $100\%$ 的数据,$T\ge 1,1\le n,\sum n\le 10^6,1\le a_i\le n$。
|子任务|$n\le$|$\sum n\le$|特殊性质|分值|时限|依赖子任务|
|:-------:|:-:|:-:|:-----:|:--:|:--:|:-:|
|$1$|$100$|$1000$|-|$10$|1s| |
|$2$|$8000$|$4\times 10^4$|-|$10$|1s|$1$|
|$3$|-|$2\times 10^5$|$1\le a_i \le 4$|$20$|1s| |
|$4$|-|$2\times 10^5$|$a$ 的每个元素在 $[1,n]$ 均匀随机|$10$|1s| |
|$5$|-|$2\times 10^5$|$1\le a_i\le 14$|$20$|1s|$3$|
|$6$|-|$2\times 10^5$|-|$10$|1s|$1\sim 5$|
|$7$|-|$5\times 10^5$|-|$10$|2s|$1\sim 6$|
|$8$|-|$10^6$|-|$10$|3s|$1\sim 7$|