Spy97
Spy97
全部文章
后缀数组
2018 Multi-University Training(7)
2019牛客多校(1)
AC自动机(1)
BFS(2)
CCPC(7)
Codeforces(16)
DFS序(1)
Hash(4)
ICPC(6)
pb_ds(2)
主席树(2)
分块(2)
分治(2)
动态规划(2)
博弈(4)
回文树(2)
图论(15)
差分约束系统(1)
思维(8)
数学(2)
未归档(5)
树(5)
树链剖分(3)
模拟(1)
模拟退火(1)
矩阵快速幂(2)
线性基(1)
线段树(7)
莫队(1)
计算几何(30)
贪心(2)
归档
标签
去牛客网
登录
/
注册
Spy97的博客
全部文章
/ 后缀数组
(共6篇)
2019牛客多校第四场 string
题意 定义 r e v ( S ...
2019牛客多校
string
2019-07-28
0
307
POJ 3693
题目描述:给出一个字符串,求重复次数最多的子串。若多个,输出字典序最小的。 题解:先穷举长度 L,然后求长度为 L 的子串最多能连续出现几次。首先连续出现1 次是肯定可以的,所以这里只考虑至少 2 次的情况。假设在原字符串中连续出现 2 次,记这个子字符串为 S,那么 S 肯定包括了字符 r[0]...
后缀数组
POJ
2018-03-04
0
616
URAL 1297 最长回文子串
题目描述:给一个字符串,求最长回文子串,若有多个,输出最先出现的。 注意:题目给的字符串要删去除字母外的其他字符,再进行求解。 题解:设原串为s,在s尾部加一个特殊字符,然后再将s逆序添加在特殊字符的后面。一开始我的思路是直接求最长公共子串,然后出现了反例。abefba,求解是ab,但正确答案是a...
2018-03-03
0
478
POJ 1743
题目描述:给一组数字串,求不可重叠的最长公共子串,如果长度大于5,输出长度,否则输出0。 注意:“公共子串”的定义为,两子串的对应位置的元素的差值相同即可。 如:1 2 3 和 6 7 8 即满足条件,他们对应位置的差值是2。 题解:我们如果有两个满足条件的子序列a[i],a[i+1],…a[i+...
2018-03-01
0
445
HDU 4691
题解:后缀数组求两个子串的LCP。用ST表求height数组中两个子串rank之间的最小值,即为子串的LCP。 代码: #include<bits/stdc++.h> #define N 200010 #define LL long long using namespace std; ...
2018-02-28
0
549
HDU 1403
题目描述:给出两个字符串,求最长公共子串的长度。 题解:后缀数组。将两个字符串合并成一个,中间加一个字符'0',然后求出height数组。因为以最长公共子串为前缀的子串,他们的rank肯定相差为一,然后遍历sa数组,判断sa[i]和sa[i-1]的位置是否位于字符'0'的两侧,符合条件的最大的he...
2018-02-27
0
558