#3458. Chain Contestant

0

Chain Contestant

Chain Contestant

题目描述

AtCoder 在异世界举办 10 种比赛,分别称为 AAC, ..., AJC。今后将会有 NN 场比赛。
这 NN 场比赛的比赛类型用字符串 SS 给出:如果 SS 的第 ii 个字符是 xx,则第 ii 场比赛是 AxxC。
AtCoDeer 将从这 NN 场比赛中选择并参加一场或多场比赛,使得满足以下条件。

在他将要参加的比赛序列中,相同类型的比赛是连续的。 形式上,当 AtCoDeer 参加 xx 场比赛且第 ii 场的类型为 TiT_i 时,对于任意满足 1 \le i < j < k \le x 的整数三元组,如果 Ti=TkT_i=T_k 则必须有 Ti=TjT_i=T_j。

求 AtCoDeer 选择要参加的比赛的方法数,对 998244353998244353 取模。
当存在一场比赛 cc,AtCoDeer 在一种选择中参加了 cc 而在另一种选择中没有参加 cc 时,这两种选择被认为不同。

输入格式

输入以标准输入给出,格式如下: NN SS

输出格式

打印答案(整数)。

4
BGBH
13
100
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBIEIJEIJIJCGCCFGIEBIHFCGFBFAEJIEJAJJHHEBBBJJJGJJJCCCBAAADCEHIIFEHHBGF
330219020

提示

1≤N≤10001 \le N \le 1000 ∣S∣=N|S|=N SS 由从 A 到 J 的大写英文字母组成。例如,参加第 11 场和第 33 场是有效的,参加第 22 场和第 44 场也是有效的。
另一方面,参加第 11、22、33、44 场是无效的,因为 ABC 的参与不是连续的,违反了三元组 (i,j,k)=(1,2,3)(i,j,k)=(1,2,3) 的条件。
另外,不允许不参加任何比赛。
总共有 1313 种有效的参加方式。
记得对 998244353998244353 取模。

标签: AtCoder|abc215E

来源

AtCoder|abc215E