后缀数组
最菜的acmer
这个作者很懒,什么都没留下…
展开
-
SPOJ - SUBST1-后缀数组
题意:让你求这个字符串能组合出来多少个不重复的子串思路:利用后缀数组height【i】的性质就可以求出每个位置开始能组成的字符串个数为n-sa[i]-height[i] , n为字符串的长度#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> using namespace std; const int m原创 2017-07-11 18:38:38 · 270 阅读 · 0 评论 -
poj1743-后缀数组
题目大意:给你一些音符每个音符在1-88然后让你寻找最长能多长的连续音符满足下列条件1长度至少为52这段数字同时加上一个数或者减去一个能变成另外一段一样的音符题解思路:如果能相等那么他们的增加量和减少量也是相等的所以用后缀数字寻找其中的两端LCP大于K并且没有重叠#include<iostream> #include<cstring> #include<algorithm> #include<cst原创 2017-07-13 11:24:24 · 260 阅读 · 0 评论 -
poj3415(后缀数组)
题解:找两个串公共子串长度大于等于k的总长度和,那么我们怎么操作呢,我们可以在两个串之间插入一个这辈子不可能用的数值,这样就不会出现字符串越界的操作,然后跑一下后缀数组,接着我们怎么计算大于k的公共子串呢?我们从该sa[i]位置往前搜搜到不是我这个串的所有然后求出方案数,那么问题来了,如果这样搜肯定会超时我们怎么办呢?我们可以把串目前能匹配到的长度从大到小放进队列里面,每次更新的时候我们只要把该串...原创 2018-07-18 10:32:43 · 785 阅读 · 0 评论