Xmas Contest 2019 J: Sub-Post Correspondence Problem

https://atcoder.jp/contests/xmascon19/tasks/xmascon19_j

問題概要

文字列  A_1, B_1, \ldots, A_N, B_N が与えられるので,ある  i_1, \ldots, i_k ( k \gt 0) に対して  B_{i_1} \cdots B_{i_k} A_{i_1} \cdots A_{i_k} の連続とは限らない部分列となるようにできるか判定せよ (一応,同じ添え字は  2019^{2019} 回まで).

解法

カード  1 枚での解 ( k = 1) があれば YES でなければ NO です.なぜなら, b b' a a' の部分列ならば, b a の部分列であるか  b' a' の部分列であるかだからです ( a a' の境界に対応する場所は  b b' の高々一方にしか入ってこないので).

 k = 1 のときの判定は, B_i の文字を  1 文字ずつ, A_i の中に貪欲にとっていけば線型時間でできます.

統計情報

正解者:siotouto さん (0:13:54) はじめ 95 チーム

コメント

ギャグ枠です. N \le 16 はフェイクです.

Post の対応問題は決定不能な問題の中でもパズルっぽい見た目ということで人気があります (?).問題設定を少し変えた亜種は結構研究されているらしく,決定不能と決定可能の間が見えてくるのが面白いですね.