AC自動機之模板題

2021-09-27 10:30:44 字數 885 閱讀 4985

hdu - 2222 

可以先看ac自動機入門教程:

題意:輸入幾個字串,乙個文字串,查詢文字串**現過幾個字串

理解:很基礎的板子題,直接套板子就可以匹配了

#include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

const int maxn = 10100,l=1000100;

//0x7fffffff 位元組

int n;

//string s;

struct nodetree[maxn*90];

int cnt;

char s[l];

void clear(int idx)

void bulid_trie()

}while(!q.empty())

//不存在這個子節點

else //fail[tree[now].son[i]]=tree[fail[now]].son[i];

tree[now].son[i]=tree[prefail].son[i];

//當前節點的這個子節點指向

//父親節點fail指標的這個子節點 }}

}int query()

//fail[0]=0;

tree[0].fail=0;

getfail();

//cin>>s;

scanf("%s",s);

//cout

return 0;

}

AC自動機模板題

5分鐘打乙個,還是手太生。嘛這個東西單獨搞是沒有難度的 與其他演算法結合起來才是 黑上加黑 光速逃 願意的話可以看看徐大佬的部落格 include define maxn 1000005 using namespace std int n,len,u,ch maxn 29 tot,fail maxn...

AC自動機模板

ac自動機模板 ac自動機模板 使用方法 1 init 初始化函式 2 insert str 插入字串函式 3 build 構建ac自動機 4 query str 返回出現的字串個數 使用需注意事項 1 注意輸入的字元的範圍,需對next和其二維大小及相關引數進行更改 2 注意next fail和e...

AC自動機模板

ac自動機主要是用於多模式串的匹配問題,按照我的理解,ac自動機就是在tire樹上實現kmp演算法,由於ac自動機加入了失敗指標,所以可以把他看成乙個狀態轉移的圖。給出模板 include include include include includeusing namespace std cons...