给一个原串,以及那些字符是坏的,现在问你可以从原串中取出多少个不同子串,使得其所含的坏字符的个数不超过一个定数. 这个题目网上有各种各样的解法.如hash,tire. 我说一下我的解法. 解法一:后缀自动机dp.f[][]保存到达某个状态,前面已经有的坏字符的个数的时候的字符串数量.这样按照拓扑序列一直递推下去就可以了.时间复杂度为O(N2). 解法二:后缀自动机,预处理.对于字符串,每个位置保存它可以最前走到那个位置.然后,在自动机上增加信息,保存位置.然后直接按照距离判断就可以了.对于每个节…