hdu2896 AC自動機模板)

2021-06-23 01:14:03 字數 797 閱讀 2243

ac自動機模板題

下面說幾個注意點:

1、題目中說字元是可見字元,可見字元的asc碼是32--127 ,由於不清楚這一點wa了無數次

2、發現ac自動機網上**都是用指標來寫的,我這裡提供靜態陣列的寫法

**如下:

#include#include#include#include#include#include#include#include#include#include#define n 60005

#define inf 0x7ffffff

#define eps 1e-9

#define pi acos(-1.0)

using namespace std;

int f[n],last[n],vis[n];

int flag;

struct trie

void insert(char* s,int v)

val[u] = v;

}void getfail()

}while(!q.empty())}}

void print(int j)

}void find(char *t)

}}trie;

int main()

trie.getfail();

int m,ans = 0;

scanf("%d",&m);

for(i = 1; i <= m; i++)

}printf("total: %d\n",ans);

}return 0;

}

HDU2896 AC自動機 模板

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

HDU 2896 AC自動機模板題

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

hdu2896 AC自動機 病毒侵襲

同樣是一道很裸的ac自動機,統計哪些特徵碼出現在 的原始碼上,匹配成功時不要將val賦值為0,因為後面還有文字串要匹配,另外要注意編號需要從小到大輸出。include include includeusing namespace std const int maxn 100000 10 const ...