随笔分类 -  字符串——后缀自动机

摘要:题意: 求$n$个串的最大$LCS$。 思路: 把第一个串建后缀自动机,然后枚举所有串。对于每个串,求出这个串在$i$节点的最大匹配为$temp[i]$(当前串在这个节点最多取多少),然后我们求出最终所有串在$i$节点的匹配最小值$mn[i]$(即为所有串在$i$节点都能取到多少),答案即为$max 阅读全文
posted @ 2019-10-13 17:57 KirinSB 阅读(110) 评论(0) 推荐(0)
摘要:题意: 求两个串的最大$LCS$。 思路: 把第一个串建后缀自动机,第二个串跑后缀自动机,如果一个节点失配了,那么往父节点跑,期间更新答案即可。 代码: cpp include include include include include include include include inclu 阅读全文
posted @ 2019-10-13 17:35 KirinSB 阅读(156) 评论(0) 推荐(0)
摘要:题意: 询问串的不同子串个数 思路: 后缀自动机每个节点表示以当前字符结尾的一系列后缀,个数为$maxlen minlen$,其中$minlen = maxlen[father]$。 代码: cpp include include include include include include in 阅读全文
posted @ 2019-10-11 16:14 KirinSB 阅读(154) 评论(0) 推荐(0)