摘要:
题目大意给出一个数字串,找出其中至少重复K次的最长的子串长度。题目分析直接用后缀数组来求解,限制height[i]的长度来对排好序的后缀进行分组(这种方法经常在字符串问题中被使用)。先判断是否有至少K个长度大于等于M的子串,这可以通过将height[i] >= M来对排好序的后缀进行分组,然后判断组... 阅读全文
摘要:
题目大意给定一串数字,长度为N。定义数字中的某个连续的子串为一个"theme",只要子串满足:(1)长度 >= 5(2)和该子串相同或者该子串的“变种串”在整串数字中出现次数大于1(3)假设整串中有k个该子串及其“变种串”,那么其中至少有两个不相重叠求满足要求的 "theme" 串的最长长度。题目分... 阅读全文
摘要:
题目大意给定两个字符串A,B,求出A和B中最长公共子串的长度。题目分析字符串的子串可以认为是是字符串的某个后缀的前缀,而求最长公共子串相当于A和B的某两个后缀的最长相同前缀。可以考虑使用后缀数组,将A和B连接起来,中间添加一个在A和B中都未出现过的字符隔开,然后求这个新串的后缀数组以及height数... 阅读全文