atcoder#ARC094D. [ARC094F] Normalization

[ARC094F] Normalization

题目描述

a,b,c からなる文字列 S S が与えられます。次の操作を 0 0 回以上繰り返して作ることのできる文字列としてありうるものの個数を 998244353 998244353 で割ったあまりを求めてください。

  • 1 i S1 1\leq\ i\leq\ |S|-1 かつ S S i i 文字目と i+1 i+1 文字目が異なるような整数 i i を選ぶ。S S i i 文字目と i+1 i+1 文字目を両方、(a,b,c のうち)そのどちらとも異なる文字で置き換える。

输入格式

入力は以下の形式で標準入力から与えられる。

S S

输出格式

操作を繰り返して作ることのできる文字列としてありうるものの個数を 998244353 998244353 で割ったあまりを出力せよ。

题目大意

给你一个仅由 abc\texttt{abc} 组成的字符串。问你通过零次或多次下面的操作能够得到的本质不同的字符串有多少个,对 998244353998244353 取模。

  • 选择相邻的两个不同的字母, 将他们同时替换为那个与他们都不相同的字符(只能从 abc\texttt{abc} 中选择),例如选择 ab\texttt{ab},将其替换为 cc\texttt{cc}
abc
3
abbac
65
babacabac
6310
ababacbcacbacacbcbbcbbacbaccacbacbacba
148010497

提示

制約

  • 2  S  2 × 105 2\ \leq\ |S|\ \leq\ 2\ ×\ 10^5
  • S S a,b,c からなる

Sample Explanation 1

abc,aaa,ccc を作ることができます。