「概要」接尾辞2

命名1.ニャー惑星が
一般化接尾辞と接尾辞配列のないマルチ文字列照合オートマトンはchishiであることがわかりました。
だから、もちろん、それは強力な一般化接尾オートマトンです。
私たちは、それぞれのパターン文字列のノード、すべてのサイズの父を見つけ、問い合わせを容易にするために、ノードのチェーン全体を追加します。
エンドノードのサイズに一致する場合、一致の直接出力、及び+1のマーカー。
再度、前回のスキャンチェーンの親ノード、マークにアウトすべての統計情報。
複雑さがある:\(O(N ^ {1.5})\) 大暴れの父からです。
しかし、これははるかに少ない上限を超えています。
はるかに高速に実行一定の接尾辞配列のログよりもさらに大きくなります。

2.文字列
はまだ水のサフィックスオートマトン暴力すぎ。
最初の文字列を反転します。
各セグメントツリーの最初の統合ノードが取得した\(endposの\)のコレクションを。
半分の答えを考えてみましょう。
適切なプレフィックスノードは父のホップから次にジャンプ\(LEN \)で。
このプロセスは、乗算器によって直接実装することができます。
直接このノードを分析\(endposの\)コレクションが含まれているか否か(\ [A、B] \ ) その上に要素間。

3.yww文字列
この手段、異なる部分文字列の数を制限する自然との問題。
各ノードは維持のために私たちは持っている\(Wは\)彼は左方向に拡張することができ、最長の長さを表しています。
:各ノードの寄与は本質的に異なるサブストリングである- \ [\マックス(LEN [FA [X]]、0分(LEN [X]、W [X]))]
\(MX \)メンテナンス時期取るために\(最大\を)最長を取るために1でなければならないので、限り、「良い」があるとして、あなたは原因すべて同じ部分の性質のために貢献を計算することができます。

4.地球外の接触
水が直接、一度接尾辞木DFS暴力を構築し、出力が可能です。

5.蚤
はかなり難しい質問。
そして、それは唯一の接尾辞配列で行うことができます。
すべての異なる自然の中でランキングをサブストリング上半期の答え。
確認する方法を考えてみましょう。
一つの文字列の1の終わりの始まりから前方に私たちに参加し、現在の文字列のランキングは、現在の二分法の文字列よりも大きい位にランクしている場合、この時間は、カットバックでなければなりません。
最後のカット数のみを決定する必要があり、\(K \)の関係は、最大調整及び境界の半分ダウンすることができます。
それは右である理由を考えてみましょう。
我々は前後である文字を結合するとし、決意している必要\([L、I]、 [I L + 1]が......、[I、I] \) これらの文字列は、二分かどうか最大のランクよりも大きくなっています答えます。
判決は非常に良いではありません。
私たちは前後の文字に追加した場合、それは決意があるが必要です\([I、R]、 [I、R-1]、......、[I、I] \) これらの文字列の明確辞書的に最大でありますそれは\([I、R&LT] \) このプロセスは、サイズにのみ1つの文字列を必要とします。
私たちは、ランキングを前提としなければなりません。
まず、ランキングからの回答を取得する方法を検討してください。
私たちは、プロセスによって、場所ごとに、このような配列をサフィックス:\(RA [I] \) つまり\(サフィックス(I)\)すべての異なる自然の中でのランキングのサブストリング。
このようにして得られた伝達方程式:
\ [RA [SA [I] RA = [SA [-I 1] +(N - SA [I] + +1)-height [I] \。]
加えて、その\(LCP \)部分、各位置は基本的に異なるサブストリングを有することになります。
このように私達ができるリニアに従い\(RK \)列挙サフィックスを見つけるために\(RA \)の配列。
最初のそのような与えるために再び線形列挙を取得した後\(RA [SA [I] ]> = K \) 位\(I \)サフィックス。
それは簡単であり、出発点は、文字列である\(SA [I] \) 及びその目的は、(+ K-RA [SA \ [I]] \ n)は文字列である\(S [SA [i]は 、 N + K-RA [SA [
I]]] \)は、次いで、所与のために検討\(S [L、R] )\ その位置を決定する方法。
まず、表示される(RKによって初めて)最初の文字列のサフィックスを見つけます。
この非常に単純な、直接バイナリ\([1、RK [L ]] \) すべてのサフィックスでは、クエストすることができますので、\(RKが\)前進しようとするために(LCP(SA [中期] \ 、L)> = LEN \)サフィックス、単調。
あなたのようなこの位置を見つけ、そして接尾辞を設定した場合は、\(接尾辞(SA [X-])\)
異なるランクの性質は、サブストリングれる\(RA [SA [X] - (N-SA [X] + 1-LEN)\])を
これは、\(wzz \)高齢者のみの接尾辞接尾辞配列を行うことができると言うが、自動機械を行うことはできません。
ランキングパターン文字列のいずれかのために、\(logN個\)は、文字列の位置から決定します。
任意のサブストリングパターン文字列の場合は、\(logN個\)ランキングは、文字列を計算しました。

6.株式市場を予測し
、まだ接尾辞配列を行います。
実際には、差動の後を探しています\(ABA \)文字列の異なる形式の性質。
列挙考えてみましょう\(A \)の長さを。
複雑さがある場合には、このような暴力がやる\(^ nは2lnn \)です。
しかし、我々は別の方法を検討してください。
パターン文字列の各\(A \)サブA。
次に、開始点の各々について\(I \)決定され、彼の別の位置\(I + A + M \ )は、次に変換することができるので、最も長い接頭辞と接尾辞の長さです。
次いでせ(LCP + LCS = W \)\:それほど寄与があると、\(WA \)
このような複雑である:
\ [\ SUM \ limits_ {I = 1} ^ {N-} \ FRAC {N-} {I} = NLN N \]

おすすめ

転載: www.cnblogs.com/Lrefrain/p/12096592.html
おすすめ