洛谷P3808 模板 AC自動機(簡單版)

2022-05-03 13:00:30 字數 1274 閱讀 8419

這是一道簡單的ac自動機模板題。

用於檢測正確性以及演算法常數。

為了防止卡oj,在保證正確的基礎上只有兩組資料,請不要惡意提交。

給定n個模式串和1個文字串,求有多少個模式串在文字串裡出現過。

輸入格式:

第一行乙個n,表示模式串個數;

下面n行每行乙個模式串;

下面一行乙個文字串。

輸出格式:

乙個數表示答案

輸入樣例#1: 

2aaa

aa

輸出樣例#1: 

2
subtask1[50pts]:∑length(模式串)<=10^6,length(文字串)<=10^6,n=1;

subtask2[50pts]:∑length(模式串)<=10^6,length(文字串)<=10^6;

1 #include2 #include3 #include4

using

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 }

view code

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...