A90656.Chain Contestant

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

在另一个世界的 acgo 中,目前正在举办 AAC, ..., AJC 共 1010 种类型的比赛,接下来还将举办 NN 场比赛。
每场比赛的类型以字符串 SS 给出,SS 的第 ii 个字符为 xx 时,表示第 ii 场比赛为 AxxC。
鹿 ac 君将从 NN 场比赛中选择至少一场参加,并且选择的比赛需要满足以下条件:

  • 选中的比赛按原顺序抽取后,各种类型的比赛必须是连续的一段。
    • 更严格地说,假设 ac 君参加了 xx 场比赛,且第 ii 场比赛的类型为 TiT_i,那么对于所有满足 1i<j<kx1 \le i < j < k \le x 的整数三元组 (i,j,k)(i, j, k),如果 Ti=TkT_i = T_k,则必须有 Ti=TjT_i = T_j

请你求出 ac 君可以选择参赛的方案数对 998244353998244353 取模的结果。
注意,如果存在某场比赛 cc,在一种选择中参加了而在另一种选择中没有,则这两种选择视为不同。

输入格式

输入以以下格式从标准输入读入。

NN SS

输出格式

请输出一个整数作为答案。

输入输出样例

  • 输入#1

    4
    BGBH

    输出#1

    13
  • 输入#2

    100
    BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBIEIJEIJIJCGCCFGIEBIHFCGFBFAEJIEJAJJHHEBBBJJJGJJJCCCBAAADCEHIIFEHHBGF

    输出#2

    330219020

说明/提示

限制

  • 1N10001 \le N \le 1000
  • S=N|S| = N
  • SS 只包含大写英文字母 AJ

样例解释 1

例如,选择第 1,31,3 场比赛,或选择第 2,42,4 场比赛,都是满足条件的方案。
而选择第 1,2,3,41,2,3,4 场比赛时,ABC 类型的比赛没有连成一段,对于三元组 (i,j,k)=(1,2,3)(i, j, k) = (1, 2, 3) 不满足条件。
另外,全部不参加比赛也是不允许的。
满足题意的参赛方案共有 1313 种。

样例解释 2

注意,答案需要对 998244353998244353 取模。

首页