摘要: 题意:多次操作和询问,操作是增加新的模版串,询问是询问匹配。 思路:如果每次插入重建AC自动机的话,需要重建n次,每次重建复杂度为n^2。 弄两个AC自动机A和B,B限制结点数上限为sqrt(n),每次增加新的模版串的时候将它插到B中,重建B,当B结点数达到sqrt(n)时,将B合并到A中,重建A。 阅读全文
posted @ 2016-03-10 12:47 __560 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 只要把每行的模版串插到ac自动机,然后匹配行,每次匹配成功,那一行对应的字符矩阵的左上角的计数器+1,最后统计下计数器矩阵有多少个左上角是行数的就可以了。 思路很简单,但想法很好,但要注意模版上有两行是一样的,插入到ac自动机的时候会插到同一个结点上,为了区分,我还是谨慎地开了个vector,然后1 阅读全文
posted @ 2016-03-10 01:06 __560 阅读(260) 评论(0) 推荐(0) 编辑