模版 AC自動機(簡單版)

2022-05-18 10:06:04 字數 1161 閱讀 5697

這是一道簡單的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;

洛谷的一道ac自動機的模板題,正好整理一下模板,看了看wsj的**並且結合最近幾天所聽到的一些知識,整理了整理也就大了一下,然後就過了,發現並沒有多大難度,

只要理會就好了,之後我會再寫一篇關於ac自動機的blog,現在先水水幾道水題,模板題先過了,再說。

1 #include2 #include3 #include4 #include5 #include6 #include7

using

namespace

std;89

int n,cnt=1;10

char s[1000007

];11

struct

node

12tree[1000007

];15

16 inline void

ins()

1725 tree[head].flag++;26}

27void

make_ac()

2845

else tree[u].c[i]=tree[tree[u].suf].c[i];46}

47}48void

solve()

4959 printf("

%d\n

",ans);60}

61int

main()

6265

make_ac();

66solve();

67 }

ac自動機模版

字尾陣列 include include include using namespace std const int maxn 200000 100 int wa maxn wb maxn wv maxn ws maxn int rank maxn height maxn int sa maxn r...

模版 AC自動機

模版 ac自動機 可以在文字串中查詢多個模式串。前置知識點 kmp 演算法 trie 樹 開了乙個 fai l i fail i fail i 陣列 存的是 tri etrie trie 樹上的結點號 表示 tri etrie trie 樹 某個結點 在 文字串上 第 tri e i j trie ...

AC自動機(簡單版)

覺得ac自動機怪簡單是怎麼回事?可能題太裸了 網上講ac自動機和tire樹講的比我好的dalao數不勝數,我就不多贅述了,權當是掛個板子吧。其實char和strlen還是挺好用的。include include include using namespace std struct tire tr 1...