码迷,mamicode.com
首页 > 其他好文 > 详细

ACdream1430SETI(后缀自动机)

时间:2017-12-13 23:49:23      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:ide   call   ast   dash   bsp   rest   nta   rds   思路   

 

 问题:

Amateur astronomers Tom and Bob try to find radio broadcasts of extraterrestrial civilizations in the air. Recently they received some strange signal and represented it as a word consisting of small letters of the English alphabet. Now they wish to decode the signal. But they do not know what to start with.
      They think that the extraterrestrial message consists of words, but they cannot identify them. Tom and Bob call a subword of the message a potential word if it has at least two non-overlapping occurrences in the message.

      For example, if the message is “abacabacaba”, “abac” is a potential word, but “acaba” is not because two of its occurrences overlap.
      Given a message m help Tom and Bob to find the number of potential words in it.

Input

      Input file contains one string that consists of small letters of the English alphabet. The length of the message doesn’t exceed 10 000.

Output

      Output one integer number — the number of potential words in a message.

Sample Input

abacabacaba

Sample Output

15

题意:

求字符串里最长的不相交重复字串的长度。

思路;

后缀自动机,记录每个状态的最先出现和最后一次出现的位置,就可以判断是否出现了多次,以及是否相交。

 

ACdream1430SETI(后缀自动机)

标签:ide   call   ast   dash   bsp   rest   nta   rds   思路   

原文地址:http://www.cnblogs.com/hua-dong/p/8034565.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!