车雷达(hanjian)
出题人:zlxFTH
时间限制:$1s$(因为 OJ 的性能问题改成 $2s$)
空间限制:$512MB$。
题目背景
不是日清的我不吃,因为它是有良心的,家乡制造。
题目描述
车雷达边吃泡面边玩游戏,作为莲宝,她怎么能玩一款普通的游戏呢?她玩的是一款罕见的游戏。
这个有游戏在一个卡槽上,卡槽上有 $n$ 个小球,从左往右第 $i$ 颗小球的颜色为 $a_i$,小球可以在卡槽上面自由滚动。现在莲宝想要放入若干个隔板。
小球被隔板分成了若干段,每两段的小球之间相互独立,不会产生任何影响。莲宝知道每一段内部的小球的颜色是有价值的,如果这一段内所有小球的颜色的出现次数均为 $4$ 的话是罕见的,也是最有价值的。
莲宝想要知道,有多少种分隔方式,能够使得所有的球段都是罕见的。
对 $998244353$ 取模。
输入格式
第一行一个整数 $n$。
第二行 $n$ 个整数,$a_1, a_2, \cdots, a_n$。
输出格式
一行一个整数表示答案。
样例 1
Input
4
1 1 1 1
Output
1
样例 2
Input
12
1 1 1 1 3 3 3 3 2 2 2 2
Output
4
样例 3
Input
8
1 1 1 1 1 1 1 1
Output
1
数据范围
对于所有数据,保证 $1\le n\le 5\times 10^6, 1\le a_i\le n$。
- $\text{Subtask}\ 1(15\ pts)$:$n\le 500$。
- $\text{Subtask}\ 2(15\ pts)$:$n\le 5000$。
- $\text{Subtask}\ 3(30\ pts)$:$n\le 5\times 10^5$。
- $\text{Subtask}\ 4(40\ pts)$:$n\le 5\times 10^6$。