摘要: 题意:求字符串中不同子串的个数。 解题关键:每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同的前缀的个数。 1、总数减去height数组的和即可。 注意这里height中为什么不需要进行组合计数,因为,每一个height的左端点已经确定,所以只需变动右端点,总共$height[i 阅读全文
posted @ 2017-09-22 20:31 Elpsywk 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题意:可重叠的k次最长重复子串 解题关键:利用height数组对后缀进行分组,因为最长公共子串一定会在一个组内,所以判定每个组即可。二分答案,进行判定。 阅读全文
posted @ 2017-09-22 20:05 Elpsywk 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题意:多个字符串的最长公共子串。 解题关键:字符串的任何一个子串都是这个字符串的某个后缀的前缀。求A和B的最长公共子串等价于求A的后缀和B的后缀的最长公共前缀的最大值。 后缀数组的经典例题,连接在一起,二分长度,height数组遍历即可。 注意flag的问题,采用二分小于的方式,可能会出现有最优解但 阅读全文
posted @ 2017-09-22 16:53 Elpsywk 阅读(328) 评论(0) 推荐(0) 编辑