お知らせ\(QK \のLeq 10 ^ 5 \) 、我々は、ではありません当然、ルートパーティションを考慮してください。
場合(K> \ SQRT {10}。5 ^を\)\、この時間\(Q \)は比較的小さく、\(QM \)より適切な相関アルゴリズム。文字列の\(S \)全てに、各質問を考慮し、SAMを構築する((B)\ \ ) に従って\(B \)次に、小から大まで\(W \)で\(S \)右点となるたびに、SAMと一致)(B \を\ジャンプ列掛ける場合:\(S [B] \) endposのに所在照会を。
場合(Q> \ SQRT {10}。5 ^を\)\、この時間\(Kは\)が比較的小さく、\(K ^ 2 \)より適切な相関アルゴリズム。文字列と同様に\(S \)は、 SAMを構築し、列挙エンドポイントを左\(Lの\)を、次いで:\(\ [L、W ) 計算一致SAMの全てで\((L、R)\ ) 回答すべてのために、次に()\(L、R) \ 現在の問い合わせの-halfが現在の問い合わせの何を決定し、あなたは答えを得ることができます。
複雑\(O(M用の\ SQRT {logN個QK})\) 。魔法の事はブロックサイズである\(316 \)の生活を困難にするのではなく、(315 \)\あまりにもすることができます。