摘要: 给出一个长度为N的串S(N≤500000)。这个串只包含“a”“b”两种字母。找一个长度为L的串T也是右“a”“b”两种字母组成使得该串不是串S的 子串且长度L尽可能小。 问题分析 这是一道统计的题目。由于串只由两种字母组成因此相当于一个01串。如果我们求出S的所有子串然后标记起来再由小到大枚举T串直到T串不是S的子串那么就能得出解了。然而S的子串是十分多的所以我们有必要分析一下这道题的特征。 题目要我们使长度L尽可能小。而对于某一个L串S中最多包含N-L+1个长度为L的子串。而长度为L的串一共有2L个。若N-L+1<2L则必有某个长度为L的串T不是S的子串。而N 阅读全文
posted @ 2012-11-10 23:36 baoff 阅读(188) 评论(0) 推荐(0) 编辑