1つのストリングのサブシーケンスで他のストリングのサブシーケンスではない
しましょう ΣΣ\Sigma アルファベットにしてみましょう x+,x−1,…,x−n∈Σ∗x+,x1−,…,xn−∈Σ∗x^+,x^-_1,\dots,x^-_n \in \Sigma^*そのアルファベットの文字列である。文字列を呼び出すs∈Σ∗s∈Σ∗s \in \Sigma^* 良ければsss のサブシーケンスです x+x+x^+ のサブシーケンスではない x−1,…,x−nx1−,…,xn−x^-_1,\dots,x^-_n。 与えられた x+,x−1,…,x−nx+,x1−,…,xn−x^+,x^-_1,\dots,x^-_n、私は最短の良い文字列を探しています sss。これに適したアルゴリズムはありますか?ワーストケースの実行時間がそれほど長くない場合でも、実用的なアルゴリズムに興味があります。私のドメインでは、文字列x+,x−1,…,x−nx+,x1−,…,xn−x^+,x^-_1,\dots,x^-_n かなり長いかもしれませんが、良い紐が存在すると思います sss それが役立つ場合、それはかなり短いです。 ケース n=1n=1n=1ある文字列の最下位サブシーケンスによって処理されます。これは別の文字列のサブシーケンスではありませんが、ケースに対処する必要がありますn>1n>1n>1。