No.319
桁 DP を使う.
まず 以下の数値の中に含まれる 12
の数を求める.
これはキーとして, 何桁目まで見たか, 最大値か, 最後は 1
か, 見つけた 12
の数を使い, 値として見つかった数値の数を使って DP を行う.
次に2つの数値に渡って 12
が出現する数を求める. 2
で始まって 2
で終わる数とその直前の数をつなげたときに 12
が出現するので, この数値の数を求める.
これはキーとして, 何桁目まで見たか, 最大値か, 最初から 0
が続いているか, 0
以外の最初の数値は 2
か, 最後は 2
かを使い, 値として見つかった数値の数を使って DP を行う.
以下の 12
の数を とすると, 求める答えは である.
ただし, コーナーケースとして が 1 や 2 の場合や, 2
で始まって 2
で終わる数の場合などがありかなり面倒くさい. おかげで WA を積み上げてしまった.