[HDU2896]病毒侵袭(AC自动机)


传送门

题目中文描述,赞!

除了val记录id以外就是模板。

注意:每次数组都要清0.0

——代码

1 #include <cstdio> 2 #include <queue> 3 #include <cstring> 4 #include <algorithm> 5 6 using namespace std; 7 8 int n, m, sz, tot; 9 int ch[100005][130], val[100005], ans[100005], fail[100005]; 10 bool vis[100005]; 11 char s[100005]; 12 13 inline void insert(int id) 14 22 val[now] = id; 23 } 24 25 inline void make_fail() 26 42 fail[ch[now][i]] = ch[fail[now]][i]; 43 q.push(ch[now][i]); 44 } 45 } 46 } 47 48 inline void ac() 49 62 now = ch[now][x]; } 64 } 65 66 int main() 67 75 make_fail(); 76 scanf("%d", &m); 77 for(i = 1; i <= m; i++) 78 91 } 92 printf("total: %d\n", tot); 93 return 0; 94 }
View Code



上一篇:【模板】左偏树

下一篇:第k小整数(树状数组)


AC自动机
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图