摘要: 题目传送门 题意:给出一个字符串,求子串的个数。 思路:后缀自动机的题真是每做一题就更理解一些。 SAM中的每一状态$p$都代表了一种子串,而p包含的字符串的个数是$len[p]-len[fa[p]]$,所以答案就是$sigma len[i]-len[fa[i]]$,还有答案要开long long。 阅读全文
posted @ 2019-04-06 22:14 光芒万丈小太阳 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题目大意:还是求字符串的最长公共子串,只不过这次是n个串。 思路: 先把第一个串丢到SAM里面去,然后每一个串都和前面那个串做一次最长公共子串的匹配。我们现在把SAM里面的其中一个状态记做$p$,这个$p$其实就代表了$right$集合相同的所有子串,我们要记录每一个状态下的最大匹配长度 阅读全文
posted @ 2019-04-06 20:36 光芒万丈小太阳 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题意:给出两个$n=250000$的字符串,求最长公共子串。 思路:把第一个字符串放到SAM里面去。 对于第二个串,能匹配则匹配,不能匹配就跳回能匹配的位置,如果一个都不能匹配,则cur要重新初始化为root。 对后缀自动机的理解还比较模糊,怕误人子弟,此题就不做详述。 阅读全文
posted @ 2019-04-06 13:33 光芒万丈小太阳 阅读(266) 评论(0) 推荐(0) 编辑