Live2d Test Env

后缀自动机摸索

后缀自动机真的可以为所欲为。

前提是可以分组处理。

hash不够用,复杂度不够用,后缀自动机强无敌。

1,求字符串有多少不同字串,直接取每一组st的长度。见hihocoder1445。

2,如果需要求同一种串出现的次数,对同一后缀,用slink逆向推出,从长到短。如aab到aaab。见hihocoder1449

3,如果需要不同串的值,对同一前缀,用trans正向推出,从短到长。如12到123。见hihocoder1457

4,如果求多个串,依然可以像后缀数组那样用特殊符号‘#’  ‘:’等连接。

5,可以做到像ac自动机一样求出各个匹配串在模板串中出现的次数。(?KMP的fail函数和trans函数的关系在这里起到了一样的效果)

6,后缀数组能做的后缀自动机都能做。(二者的对比以后可以慢慢积累总结)

冰山一角。。。。

 

思考:如何top求一个分组的最大和最小endpos

posted @ 2017-11-24 15:18  nimphy  阅读(143)  评论(0编辑  收藏  举报