for Smartphone
<h1>(1):Lタイプ ·車好き注目!·SUPER ふるさと納税 (1):Lタイプ オリジナルデフォルメカー :215790:ふるさと納税サイト 北海道登別市 ふるなび ·車好き注目!·SUPER 北海道登別市-ビンテージおもちゃ</h1><br><br /><br><img style="max-width:96%;" src="https://item-shopping.c.yimg.jp/i/n/furunavi_215790" /><br><li class="elThumbnailItem" data-imagegallery-images="itemImage"> </li> <li class="elThumbnailItem" data-imagegallery-images="itemImage"> </li> </ul> <h2>商品情報</h2><h2 class="elHeaderTitle">商品説明</h2> <title> (1):Lタイプ ·車好き注目!·SUPER ふるさと納税 (1):Lタイプ オリジナルデフォルメカー :215790:ふるさと納税サイト 北海道登別市 ふるなび ·車好き注目!·SUPER 北海道登別市-ビンテージおもちゃ

この広告は、90日以上更新していないブログに表示しています。

(1):Lタイプ ·車好き注目!·SUPER ふるさと納税 (1):Lタイプ オリジナルデフォルメカー :215790:ふるさと納税サイト 北海道登別市 ふるなび ·車好き注目!·SUPER 北海道登別市-ビンテージおもちゃ Aho-Corasick で 2 次元パターンマッチング

これは IQ が 1 Advent Calendar の 21 日目の記事です。

adventar.org

20 日目は 

k3ntaroo.hatenablog.com

Aho-Corasick とは

chakku.hatenablog.com

この Aho-Corasick を使って 2 次元の文字列の中からパターンを探す方法を書く。

やり方

下にあるテキスト T からパターン P を検索する場合を例に説明する。

パターン P を行単位で区切り、 Aho-Corasick を使ってパターンマッチング オートマトン を構築する。そうすると下の図のような オートマトン ができる。さらにこの オートマトン の、各行の文字列を受理する状態番号を覚えておく。

次にテキスト T を行単位で区切り、 オートマトン に流し込む。この時に状態遷移の番号を新しいテキスト T' として覚えておく。

この T' をよく見ると T の中でパターンが現れる箇所の一番右の列の箇所が最初に覚えておいたパターンの受理状態の番号になっているので、KMP とかで探す。

Pattern Search | Aizu Online Judge で試せる。

実装

参考文献

(1):Lタイプ ·車好き注目!·SUPER ふるさと納税 (1):Lタイプ オリジナルデフォルメカー :215790:ふるさと納税サイト 北海道登別市 ふるなび ·車好き注目!·SUPER 北海道登別市-ビンテージおもちゃ

Recent Entries
(1):Lタイプ ·車好き注目!·SUPER ふるさと納税 (1):Lタイプ オリジナルデフォルメカー :215790:ふるさと納税サイト 北海道登別市 ふるなび ·車好き注目!·SUPER 北海道登別市-ビンテージおもちゃ Archive
ビンテージおもちゃ
Star added

Quote saved.

Login to quote this blog

Failed to save quote. Please try again later.

You cannot quote because this article is private.

Subscribed unsubscribe Subscribe Subscribe