后缀自动机
outer_form
OI/ACM
展开
-
【后缀自动机】[SPOJLCS]Longest Common Substring
题目 后缀自动机基础题。 根据A串构造后缀自动机,然后用B串进行匹配。假设前匹配到了s[i],l为上次停留的节点,如果l有儿子s[i],len++,l=l->ch[s[i]],否则,沿着失配边走到当前第一个有儿子s[i]的节点a,len=a节点所表示的最大的字串长度+1,l=a->ch[s[i]]; ans即为过程中匹配到的最长的字串。#include<cstdio> #include<cst原创 2015-12-29 13:23:48 · 867 阅读 · 0 评论 -
【再谈后缀自动机(入门)】[SPOJLCS2]Longest Common Substring II
题目大意 给出n个字符串n 分析 关于后缀自动机 复习过程中再看后缀自动机,把许多初学的时候没弄懂的问题解决了。 首先要明确后缀自动机的每个节点所表示的是一个终点等价类,从根节点走到叶子节点就对应一个后缀,lenlen表示这终点等价类中长度最长字符串的长度,这个中终点等价类中的字符串的长度连续,且长度短字符串的是长度长的的后缀,后缀边指向的节点所对应的字符串是这个节点对应的字符串原创 2016-04-08 08:36:28 · 689 阅读 · 0 评论