No.2388 At Least K-Characters
レベル : / 実行時間制限 : 1ケース 4.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 76
作問者 : 👑 seekworser / テスター : PCTprobability 👑 Mizar 👑 amentorimaru
タグ : / 解いたユーザー数 76
作問者 : 👑 seekworser / テスター : PCTprobability 👑 Mizar 👑 amentorimaru
問題文最終更新日: 2023-07-20 17:34:38
問題文
英小文字からなる長さ $N$ の文字列 $S$ が与えられます。 英小文字からなる長さ $M$ 以下の文字列であって以下の条件を満たす文字列の個数を、 $998244353$ で割ったあまりを出力してください。
- 辞書順で $S$ よりも真に小さい
- 文字列中に $K$ 種類以上の文字が出現する
辞書順とは?(クリックで開く)
$2$ つの文字列 $S,T$ が以下の条件のいずれかをみたすとき、かつそのときに限り、辞書順で $S \le T$ であると言います。
- $|S| \le |T|$ かつ $S$ は $T$ の $1$ 番目から $|S|$ 番目までの部分文字列と一致する。
- $1 \le k \le \min (|S|,|T|)$ が存在し、 $1 \le i \le k−1$ について、 $S$ と $T$ の $i$ 文字目は等しく、 $S$ の $k$ 文字目は $T$ の $k$ 文字目よりアルファベット順で真に小さい。
$S \le T$ かつ $S \neq T$ のとき、 $S$ は $T$ よりも辞書順で真に小さい( $S \lt T$ )と言います。
入力
$N \ M \ K$ $S$
- $1 \le N \le M \le 5 \times 10^5$
- $1 \le K \le 26$
- $N,M,K$ は整数
- $S$ は英小文字からなる長さ $N$ の文字列
出力
条件を満たす文字列の個数を $998244353$ で割った余りを出力せよ。
サンプル
サンプル1
入力
1 1 1 d
出力
3
条件を満たす文字列は a
,b
,c
の3種類です。
d
は辞書順で $S$ よりも小さくない(等しい)ことに注意してください。
サンプル2
入力
2 3 2 ac
出力
52
サンプル3
入力
41 100 21 elpqfjecwwkdnslfwbkxlsudppmbqrgjzujshuakd
出力
359048862
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。