题意:给一个字符串,多组查询,一些后缀两两的lcp长度和,查询个数和不超过1e6 题解:svt就是后缀虚树,suffix virtual tree,考虑后缀树lca求lcp长度,但是查询次数可能很多,不能每次遍历,所以要建出虚数后在虚树上dp,对于一个节点考虑算贡献,对于所有子树,两两算个数乘积乘上 ...
分类:
其他好文 时间:
2018-11-02 17:59:09
阅读次数:
143
对于后缀有关的东西,本人一无所知。 如果你点击进来这博客,那请你谨慎阅读。 本菜鸡在开开心心刷沈大佬给我拉的铜牌题专题的时候,突然遇到了一到后缀自动机的题,不过,我完全不会。上网搜索资料的时候,我看到了后缀数组,后缀自动机,后缀树这几个东西,我也不知道他们是干什么的,也不知道他们的难度如何,于是就找 ...
分类:
编程语言 时间:
2018-10-06 13:24:22
阅读次数:
149
不定期更新 OIer 知识点 一 字符串 (1) Knuth-Morris-Pratt(2) Hash hash表(3) Trie(4) Aho-Corasick automaton(5) Suffix-Tree(后缀树)(6) Manacher(7) Huffman 二 动态规划(1) 背包dp( ...
分类:
其他好文 时间:
2018-10-03 20:48:36
阅读次数:
189
动态区间 $k$ 大主席树 + 树状数组树状数组的每个点对应一颗线段树首先将所有点加入数据结构 枚举 x code: for(int i = x; i <= n; i += Lowbit(i)) Poi_G(root[i], 1, Length, k, val);区间修改时将所有的后缀树的相应位置 ...
分类:
其他好文 时间:
2018-09-04 13:37:50
阅读次数:
183
Palindrome 题意: 求给定字符串的最长回文子串。 分析: 首先想到的是求str与反序的str的最大公共子串,考虑abcdba这种情况,所以对于求出的公共子串判断一下是否是回文串即可。还有一种做法是枚举每一个字符为回文串的中间点,求出这个字符的后缀与前缀的最长公共子串就是回文串。对于前缀可以 ...
分类:
其他好文 时间:
2018-08-10 23:06:15
阅读次数:
224
数据结构 栈,队列,链表 ?哈希表,哈希数组 ?堆,优先队列 双端队列 可并堆 左偏堆 ?二叉查找树 Treap 伸展树 ?并查集 集合计数问题 二分图的识别 ?平衡二叉树 ?二叉排序树 ?线段树 一维线段树 二维线段树 ?树状数组 一维树状数组 N维树状数组 ?字典树 ?后缀数组,后缀树 ?块状链 ...
分类:
编程语言 时间:
2018-08-10 15:59:19
阅读次数:
175
这篇简单的谈谈后缀树原理及实现。 如前缀树原理一般,后缀trie树是将字符串的每个后缀使用trie树的算法来构造: 上面算法中对于一串长m的字符串,建立一颗后缀字典树所需的时间为O(m2),27的循环在这里可看作常数,空间复杂度为O(m)。这里虽然也是O(m)的space,但倍数会比较大。 由于上面 ...
分类:
其他好文 时间:
2018-06-20 12:52:09
阅读次数:
191
显然,在后缀自动机的后缀树上插入一个后缀后,此时表示整串的节点(np)到根的所有节点,其表示的串作为子串的出现次数都要+1;发现需要链修改,动态连边/删边,因此用LCT维护 注意:虽然没明确写,但根据讨论区以及做题情况,此题字符集只有AB两个字母 错误记录:没有msk^=res ...
分类:
其他好文 时间:
2018-05-10 20:51:33
阅读次数:
198
http://codeforces.com/problemset/problem/666/E 首先一个显然的想法 对于广义后缀自动机上每一个点 开线段树存子树出现次数的众数 预处理可以使用线段树合并 问题在于询问$[l, r]$的时候 如何找到点$r$的位置(此时左端点是从$l$出发的,而不是从$1 ...
分类:
其他好文 时间:
2018-05-06 19:59:02
阅读次数:
212
算法分类合集 ACM 所有算法 数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列双端队列可并堆左偏堆 二叉查找树Treap伸展树 并查集集合计数问题二分图的识别 平衡二叉树 二叉排序树 线段树一维线段树二维线段树 树状数组一维树状数组N维树状数组 字典树 后缀数组,后缀树 块状链表 哈夫曼树 ...
分类:
编程语言 时间:
2018-05-06 01:40:10
阅读次数:
228