SPOJ1811 && SPOJ1812

LCS && LCS2

非常神奇的两道题。。。

题目大意:

给定n个字符串,求最长公共子串

 

做法1:

后缀数组:

把字符串连起来建成一个长串

二分长度 --> 最长的长度即可

二分判断条件,有一组height分组中出现了所有子串的某一后缀

 

做法2:

后缀树:

把字符串连起来建成一个长串

建出后缀树

只有有一个点的子树中出现了所有的子串的某一后缀

它的深度就可能成为长度

当然,要带上map

自然,现在是无法维护的。

注意到建树的时候的特点,可以选择在建树的时候来维护。

 

做法3:

后缀自动机:

把第一个串建成后缀自动机

后面的串在上面匹配取min即可

 

所以。。。。

后缀系列的东西都差不多。。。。。

相关文章:

  • 2021-07-26
  • 2021-06-21
  • 2021-12-04
  • 2022-12-23
  • 2021-08-06
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-06
  • 2021-09-25
  • 2021-11-25
  • 2021-09-23
  • 2021-09-01
  • 2021-10-24
相关资源
相似解决方案