gggyt  
没谁离不开谁

2017年8月9日

摘要: 题意:给你n个字符串,再给你一个大的字符串A,问你着n个字符串在正的A和反的A里出现多少个? 其实就是AC自动机模板题啊( ╯□╰ ) 正着query一次再反着query一次就好了 阅读全文
posted @ 2017-08-09 19:20 gggyt 阅读(266) 评论(0) 推荐(0) 编辑
 
摘要: KMP算法简而言之就是告诉你一个字符串是否包含另一个字符串。 对于是否包含一个字符串,大部分人想做的就是挨个判断,但是这样并不是很优,所以就有了KMP。 当你对A(被匹配)字符串和B(匹配)字符串进行匹配时,如果匹配到不匹配,那么我们要做的就是把匹配字符串B往后移,但是移动多少呢? 其实我觉得这就是 阅读全文
posted @ 2017-08-09 19:04 gggyt 阅读(130) 评论(0) 推荐(0) 编辑
 
摘要: AC自动机是著名的多模匹配算法之一。常见的例子就是给出n个单词,再给你包含m个字符的文章,问你有多少个单词在文章中出现过。 其实AC自动机是以字典树和KMP的基础上实现的。 首先要构造一个Tire,然后再在上面构造失配然后再匹配。 失配(fail)指针:使当前字符失配时跳转到具有最长公共前后缀的字符 阅读全文
posted @ 2017-08-09 18:49 gggyt 阅读(164) 评论(0) 推荐(0) 编辑