摘要: 还是求几个串的最长公共串。 但是由于数据范围的原因,用后缀数组可能会T,所以现在介绍一种后缀自动机的解法。 首先考虑两个串的公共串怎么求(假设分别为 \(S\)、\(T\))。对 \(S\) 建立后缀自动机,把 \(T\) 放在后缀自动机上跑,如果没有转移就跳后缀 \(link\)。然后在每个节点记 阅读全文
posted @ 2020-07-22 23:38 With_penguin 阅读(88) 评论(0) 推荐(0)
摘要: 对最外层所有叶子编号(编号都为 $1$),然后把他们删去,然后给倒数第二层叶子编号(编号都为 $2$)。以此类推。 对于每一种编号考虑,由于一条路径最多只能覆盖两个编号相同的节点,所以最后答案为 \(\sum\limits_{i=1}^{k}\max(2\times L,sum[i])\)。其中 \ 阅读全文
posted @ 2020-07-22 23:27 With_penguin 阅读(123) 评论(0) 推荐(0)
摘要: 对 \(T\) 的每个位置进行考虑。 设 \(f_i\) 表示以 \(T\) 的第 \(i\) 个位置结尾的字符串(\(S_k\))的个数 设 \(g_i\) 表示以 \(T'\) 的第 \(n-i+1\) 个位置结尾的字符串(\(S_k'\))的个数(其中 \(T'\) 表示 \(T\) 的反串, 阅读全文
posted @ 2020-07-22 22:49 With_penguin 阅读(117) 评论(0) 推荐(0)