這是一道簡單的ac自動機模板題。
用於檢測正確性以及演算法常數。
為了防止卡oj,在保證正確的基礎上只有兩組資料,請不要惡意提交。
給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。
輸入格式:
第一行乙個n,表示模式串個數;
下面n行每行乙個模式串;
下面一行乙個文字串。
輸出格式:
乙個數表示答案
輸入樣例#1:
2aaa輸出樣例#1:aa
2subtask1[50pts]:∑length(模式串)<=10^6,length(文字串)<=10^6,n=1;
subtask2[50pts]:∑length(模式串)<=10^6,length(文字串)<=10^6;
1 #include2 #include3 #include4view codeusing
namespace
std;
5long
long
read()615
while(ch>='
0'&&ch<='9'
)1620return x*f;21}
22const
int maxn=1e6+10;23
char
mob[maxn];
24int
q[maxn];
25int
n,cnt;
26struct
node
27 t[maxn];
31void
insert()
3241 t[u].num++;42}
43void
getfail()
4452
while(l
5363
else
64 t[u].ch[i]=t[t[u].fail].ch[i];65}
66}67}
68int
query()
6983}84
return
ans;85}
86int
main()
8794 t[0].fail=0;95
getfail();
96 cin>>mob;
97 printf("%d"
,query());
98return0;
99 }
AC自動機入門,洛谷P3808
給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。輸入輸出格式 輸入格式 第一行乙個n,表示模式串個數 下面n行每行乙個模式串 下面一行乙個文字串。輸出格式 乙個數表示答案 輸入輸出樣例 輸入樣例 1 2aaa aa輸出樣例 1 兩個會出現在模板題面裡的詞語 文字串和模式串 給你幾個單詞...
洛谷P3808 模板 AC自動機(簡單版)
這是一道簡單的ac自動機模板題。用於檢測正確性以及演算法常數。為了防止卡oj,在保證正確的基礎上只有兩組資料,請不要惡意提交。給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。輸入格式 第一行乙個n,表示模式串個數 下面n行每行乙個模式串 下面一行乙個文字串。輸出格式 乙個數表示答案 輸...
洛谷P3808 模板 AC自動機(簡單版)
給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。輸入格式 第一行乙個n,表示模式串個數 下面n行每行乙個模式串 下面一行乙個文字串。輸出格式 乙個數表示答案 include using namespace std int const n 1000005 int const m 1000...