后缀数组Da模板: 1 /* 2 后缀数组倍增法Da板子 3 */ 4 #include <cstdlib> 5 #include <cstring> 6 #include <cstdio> 7 #include <algorithm> 8 using namespace std; 9 const ...
分类:
编程语言 时间:
2020-02-17 16:23:51
阅读次数:
79
首先明确题目要我们求什么。看到后面的 $LCP(T_i, T_j)$ 很容易用后缀数组将其转化成 $\min_{rk[i] pragma GCC optimize(2) define rep(i, l, r) for (int i = (l); i = (l); i) using namespace ...
分类:
其他好文 时间:
2020-02-13 09:41:49
阅读次数:
48
后缀是从字符串的某个位置到字符串末尾的非空子串。例如:$suff(HORSE) = \{E, SE, RSE, ORSE, HORSE\}$。 后缀数组是包含字符串所有已排序后缀的数组。例如:$sa(CAMEL) = \{1-AMEL, 0-CAMEL, 3-EL, 4-L, 2-MEL\} = \ ...
分类:
编程语言 时间:
2020-02-12 12:36:37
阅读次数:
64
后缀数组 (SA) 是一种重要的数据结构,通常使用倍增或者DC3算法实现,这超出了我们的讨论范围。 在本题中,我们希望使用快排、Hash与二分实现一个简单的O(nlog2n)的后缀数组求法。 详细地说,给定一个长度为 n 的字符串S(下标 0~n 1),我们可以用整数 k(0≤k include i ...
分类:
编程语言 时间:
2020-02-07 15:01:39
阅读次数:
85
目录 贪心 搜索 数据结构 栈 队列 优先队列 map vector 树状数组 线段树 其他 bitset 字符串 KMP Trie树 Manecher AC自动机 序列自动机 后缀数组 数论 因数 最小公倍数,最大公因数 质因数 质数 质数判断 质数筛法 快速幂 逆元 中国剩余定理 扩展欧几里得 ...
分类:
其他好文 时间:
2020-02-06 19:37:23
阅读次数:
130
「SCOI2012」喵星球上的点名 填一个很久以前用 $\texttt{AC}$ 自动机没填上的坑。 关于本题,能够通过本题的算法很多,这里作者采用的是后缀数组+树状数组的做法。 首先有一个显然的结论:若 $s_2$ 是 $s_1$ 的子串,则 $s_1$ 一定存在一个后缀与 $s_2$ 的最长公共 ...
分类:
其他好文 时间:
2020-02-06 16:39:23
阅读次数:
72
$$2019中国大学生程序设计竞赛(CCPC)\ \ 网络选拔赛$$ $A.^ & ^$ 签到,只把AB都有的位给异或掉 $C.K th\ occurrence$ 给出一个字符串,给出$m$次询问,每次询问在字符串中第$k$次出现字串$s_l~s_r$的位置在哪 首先建出后缀数组和$lcp$,对于每 ...
分类:
其他好文 时间:
2020-02-05 23:37:13
阅读次数:
155
[LuoguP4094] [HEOI2016] [TJOI2016]字符串(二分答案+后缀数组+ST表+主席树) 题面 给出一个长度为$n$的字符串$s$,以及$m$组询问.每个询问是一个四元组$(a,b,c,d)$,问$s[a,b]$的所有子串和字符串$s[c,d]$的最长公共前缀长度的最大值。 ...
分类:
编程语言 时间:
2020-01-31 20:57:00
阅读次数:
86
题目描述: 分析: 看到题目:后缀数组,二分,加加减减 然后。。。然后。。。 “后缀数组是个好东西,我有头发的时候天天写。” 我们首先要求出二分的区间,可能二分到所有子串字典序编号 二分的过程当中,首先先找出字典序当前值得字符串,这里要用到height数组RMQ 我们现在就需要将所有字典序大于该子串 ...
分类:
其他好文 时间:
2020-01-30 21:03:45
阅读次数:
49
后缀数组 1. 后缀,就是从字符串中的一个字符开始直到结束的字串;而后缀数组则能求出字符串中所有后缀的排名。 2. 介绍即将登场的数组们:sa[i]记录的是排名为i的后缀是从第几个字符开始的;Rank[i]记录的是从第i个字符开始的后缀排名第几;c[]用于基数排序; 3.代码 LCP 后缀的排名已经 ...
分类:
编程语言 时间:
2020-01-29 21:49:16
阅读次数:
81