摘要: "题目链接" 这么多字符串,肯定是自动机啦。 先建出AC自动机,然后怎么表示一个安全代码没有病毒代码呢? 就是存在一条路径不经过有病毒代码段结尾的节点呗。 所以呢?有环啊!dfs一下救星了。 cpp include include include include using namespace st 阅读全文
posted @ 2019-05-17 22:06 Qihoo360 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 把单词连起来,中间插入间隔符, "同" cpp include include include using namespace std; struct Node{ int fail, next[27], num; }AC[200010]; int n, u, cnt; queue q; int p[ 阅读全文
posted @ 2019-05-17 21:26 Qihoo360 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 每次匹配都不停跳fail显然太慢了,于是在每个节点和fail指向的点连一条边,构成一棵树,在这棵树上差分一下就好了。 AC自动机 就这个算法而言其实没用想象中那么难。 cpp include include include using namespace std; struct Node{ int 阅读全文
posted @ 2019-05-17 20:54 Qihoo360 阅读(278) 评论(0) 推荐(0) 编辑
You're powerful!