給定 n 個長度不超過 50 的由小寫英文本母組成的單詞,以及一篇長為 m 的文章。
請問,有多少個單詞在文章**現了。
輸入格式
第一行包含整數 t,表示共有 t 組測試資料。
對於每組資料,第一行乙個整數 n,接下去 n 行表示 n 個單詞,最後一行輸入乙個字串,表示文章。
輸出格式
對於每組資料,輸出乙個佔一行的整數,表示有多少個單詞在文章**現。
資料範圍
1 ≤n
≤104
1≤n≤10^4
1≤n≤10
4,1 ≤m
≤106
1≤m≤10^6
1≤m≤10
6輸入樣例:15
shehe
sayshr
heryasherhs
輸出樣例:
3第一道ac自動機的題,相對於kmp,ac自動機就是把一維的資訊放在了樹上來進行統計了。
#include
using
namespace std;
const
int n=
1e4+
7,s=
55,m=
1e6+7;
int ne[n*s]
,con[n*s]
,tr[n*s][26
],cnt;
char str[m]
;queue<
int> q;
void
insert()
con[p]++;
}void
build()
while
(!q.
empty()
)}}}
intmain()
scanf
("%s"
,str)
;build()
;int res=0;
for(
int i=
0,j=
0;str[i]
;i++)}
cout<}return0;
}
關鍵詞匹配(Ac自動機模板題)
time limit 1 sec memory limit 128 mb submit 10 solved 4 submit status web board 給你n個單詞,然後給定乙個字串,問一共有多少單詞在這個字串中出現過 輸入相同的字串算不同的單詞,同乙個單詞重複出現只計一次 第一行乙個整數n...
敏感詞遮蔽 AC自動機
上一周我們講了trie樹,這次的ac自動機是trie樹的乙個改進版,也是乙個多模式串匹配演算法。ac自動機 找尋符合條件的字尾。1 首先我們構建乙個如圖的trie樹 如下圖 2 在學習kmp演算法的時候,我們說到了好字首的字首子串和字尾子串匹配。在trie樹中,我們借鑑這個思路,如果出現了不匹配字元...
AC自動機 建立nlogn個AC自動機
string set queries 題意 給你3種操作,1 加入乙個串到集合中。2 刪除集合中的某乙個串 3 查詢集合中的字串在給定的字串種出現幾次。同乙個串可重複 解法 建立多個ac自動機,用二進位制分組來處理。加入給你21個串 分為 16 4 1,再新增乙個串的時候,即21 1,22 16 4...