#CYTUS5. 单声封套
单声封套
一条录音被记为整数序列 a_1,a_2,…,a_n,相同整数表示相同声音。
对一段录音,可以执行以下操作任意多次:选择当前相邻且数值相同的两个元素,将这两个元素一起删除。删除后,两侧剩余部分重新相邻。
你要把原序列切成若干个非空连续块。每一块必须能够通过零次或多次上述操作,恰好留下一个元素。
求合法切法的数量,对 998244353 取模。
切法只由哪些相邻位置之间设置了切口决定。同一切法采用不同的删除顺序,或者留下不同位置上的元素,都不会产生新的切法。不同块之间不能进行删除操作。
输入格式
本题只有一组输入数据。
第一行包含一个整数 n。
第二行包含 n 个整数 a_1,a_2,…,a_n。
输出格式
输出合法切法数量对 998244353 取模的结果。
数据范围
- 1 ≤ n ≤ 200000;
- 1 ≤ a_i ≤ 10^9。
样例 1
4
1 2 2 1
3
说明:三种切法是:
[1] [2] [2] [1]
[1 2 2] [1]
[1] [2 2 1]
整个序列会消为空,不能作为一个合法块。
样例 2
3
1 2 1
1
说明:只有把每个元素单独放入一块的切法合法。
相关
在下列比赛中: