11

と呼ばれる非常に長いビットAシーケンスと、短いビット シーケンス がありますx。同じ長さの 2 つのビット シーケンスは、それらを整列させた後、k不一致ビットが少ないか少ない場合にあいまい一致です。A内のxのそのようなあいまいな出現をすべて見つけたい.

これまでのところ、私は単純なアプローチを試みました。A をループし、ビットごとに x の長さをループし、A のその位置から始まる不一致ビットの数をカウントし、k を超えない場合はその位置を報告します。このアルゴリズムは効率的ではありません。A に n_A ビットがあり、x に n_x ビットがある場合、実行時間はO(n_A * n_x)です。

O(n_A * log(n_A))これは、に関係なく実行できると言われていますk。提供されるヒントは、高速フーリエ変換を利用することです。ここに画像の説明を入力2 つの入力とここに画像の説明を入力の場合、畳み込みはここに画像の説明を入力どこで生成されるかを思い出してください。

qqn

多項式の乗算に似ています。このヒントの使い方がよくわかりません。どんな助けでも大歓迎です。

4

1 に答える 1