hdu 2896 AC自動機模版題

2021-09-09 03:11:38 字數 498 閱讀 7651

題意:輸出出現模式串的id,還是用end記錄id就可以了。

本題有個關鍵點:「以上字串中字元都是ascii碼可見字元(不包括回車)。」  -----也就說ac自動機的trie樹需要128個單詞分支。

#include #include #include using namespace std;

const int maxw = 210 *500 + 10;

const int sigma_size = 128;

const int maxl = 10000 + 10;

struct trie{

int next[maxw][sigma_size],fail[maxw],end[maxw];

int root,l;

int newnode(){

for(int i=0;iq;

fail[root]=root;

for(int i=0;i

HDU 2896 AC自動機模板題

題目鏈結 題目大意 多個模式串。多個匹配串。其中串的字元範圍是 0 127 問匹配串中含有哪幾個模式串。解題思路 ac自動機模板題。注意一下字元範圍。cnt記錄這個模式串的個數改為這個模式串的index。find的時候,把找到的index壓入vector裡面即可。注意有多個匹配串,每次find之後會...

hdu2896 AC自動機模板)

ac自動機模板題 下面說幾個注意點 1 題目中說字元是可見字元,可見字元的asc碼是32 127 由於不清楚這一點wa了無數次 2 發現ac自動機網上 都是用指標來寫的,我這裡提供靜態陣列的寫法 如下 include include include include include include i...

HDU2896 AC自動機 模板

思路 因為不同病毒特徵碼不會相同。ac自動機,然後對於每乙個輸出即可。注意 以上字串中字元都是ascii碼可見字元 不包括回車 g mle。include include include include include includeusing namespace std const int n 1...