5分鐘打乙個,還是手太生。。。。
嘛這個東西單獨搞是沒有難度的
與其他演算法結合起來才是(黑上加黑(光速逃))
願意的話可以看看徐大佬的部落格
#include
#define maxn 1000005
using
namespace std;
int n,len,u,ch[maxn][29
],tot,fail[maxn]
,judge[maxn]
,ans[maxn]
,sum;
char a[maxn *2]
;void
init()
ans[u]++;
}for
(int i =
0; i <
26; i++
)ch[0]
[i]=1;
queue<
int>q;q.
push(1
);fail[1]
=0;while
(!q.
empty()
) fail[ch[u]
[i]]
= ch[fail[u]
][i]
; q.
push
(ch[u]
[i]);}
}}void
que(
) u =ch[u]
[a[i]
-'a'];
} cout<}int
main()
AC自動機之模板題
hdu 2222 可以先看ac自動機入門教程 題意 輸入幾個字串,乙個文字串,查詢文字串 現過幾個字串 理解 很基礎的板子題,直接套板子就可以匹配了 include include include include include include include include using names...
AC自動機模板
ac自動機模板 ac自動機模板 使用方法 1 init 初始化函式 2 insert str 插入字串函式 3 build 構建ac自動機 4 query str 返回出現的字串個數 使用需注意事項 1 注意輸入的字元的範圍,需對next和其二維大小及相關引數進行更改 2 注意next fail和e...
AC自動機模板
ac自動機主要是用於多模式串的匹配問題,按照我的理解,ac自動機就是在tire樹上實現kmp演算法,由於ac自動機加入了失敗指標,所以可以把他看成乙個狀態轉移的圖。給出模板 include include include include includeusing namespace std cons...