一直以来字符串和数论都是我的弱项,是时候从字符串开始改善一下了。
然而有些题目并不会写代码,只是给个一句话题解。
CF1073G Yet Another LCP Problem
后缀数组,lcp转换为求区间min。
分别统计a到b、b到a的贡献,单调栈搞一搞。
位置重合时特殊处理。
CF963D Frequency of String
随便用什么数据结构统计每个串出现的位置,然后暴力做。
由于保证询问字符串互不相同,可以一波分析复杂度发现是\(O(n\sqrt{n})\)。
没意思,不写。
CF961F k-substrings
固定左右端点时长度不满足单调性,很不舒服。
但是可以发现固定中点时向左右扩展,此时具有单调性,可以二分+哈希判相等。
没什么代码难度,不写。
CF653F Paper task
如果没有本质不同的要求可以前缀和+ST表随便搞。
加上本质不同的要求后可以用后缀数组给每个左端点一个右端点的限制,就做完了。