回文树(回文自动机)
b
小鱼yn
简介
展开
-
I Love Palindrome String【双倍回文】
题目链接:https://vjudge.net/problem/HDU-6599 双倍回文,即要回文串的一半也是一个回文串(对于“一半”的定义具体要看题目) 思路:因为回文树中的fail指针可以遍历到当前结点的所有后缀回文串,所以很容易想到,我们可以直接遍历每个回文串的fail,看它的后缀回文串中是否存在一个长度刚好是它的一半的。但是每次遍历fail要花费一定的时间,所以类似AC自动机的last跳...原创 2020-02-18 11:30:02 · 222 阅读 · 0 评论 -
回文树(回文自动机)- 笔记
既然我们可以通过fail数组遍历到以这个点结尾的所有的后缀回文串,那么就可以用一个数组num[ ]记录每个结点的fail数组的“深度”,这个“深度”也就是以这个结点结尾的回文串个数原创 2020-02-18 11:02:35 · 235 阅读 · 0 评论 -
Queries for Number of Palindromes(O(n^2)求所有子区间回文串个数)
题目链接:https://vjudge.net/problem/Gym-226149C 题意:给定字符串s(长度≤5e3),询问n(≤1e6)个连续子串中回文串的个数 思路1:回文树 因为n只有5e3,所以可以提前预处理出每一段l,r的答案。时间复杂度O(n2+Q) //回文树复杂度:设字符集大小为m,母串长度为n,则空间复杂度为O(nm),时间复杂度为O(nlogm)[也可以说是O(n),因为l...原创 2020-02-17 21:03:16 · 150 阅读 · 0 评论