AtCoder Grand Contest 047 - B - First Second

問題リンク

解説

文字列を削除して作っていくので、文字列長が小さいほうから見ていきましょう。

 n文字の文字列 sから m  \ (m \leq n)文字の文字列 tを作る場合、

  •  s[1, n - m]までに t[0]が登場している

  •  s[n- m + 1, n ] == t[2, m]である

であればつくれます。

あとはRolling Hashで文字列を管理すれば解けました

提出コード

atcoder.jp