【Codeforces 710F】String Set Queries

Codeforces 710 F

思路:KMP学的还是不过关啊。。。

按照字符串的长度分类,如果长度大于\(\sqrt{n}\)的就扔到什么地方等待查询,否则就扔进trie里面。

对于查询,我们先在trie树中暴力找有多少出现过的子串,因为trie中长度不超过\(\sqrt{n}\),那么这个操作总共不会超过\(n\sqrt{n}\)次。

然后对于每一个长度大于\(\sqrt{n}\)的,把kmp的fail数组构造出来,暴力在待查询串中查询出现次数。因为长度大于\(\sqrt{n}\)的不会超过\(\sqrt{n}\)个,所以这个的总次数也不会超过\(n\sqrt{n}\)

但是我的kmp学的不好,写错了好多好多次。。。(我太菜了.jpg

还是要多打打板子啊。。。

猜你喜欢

转载自www.cnblogs.com/denverjin/p/10561016.html