后缀数组
文章平均质量分 74
x_1023
这个作者很懒,什么都没留下…
展开
-
POJ 1743 Musical Theme - 后缀数组
一道论文题,感觉有点玄学。 一个值得借鉴的思想就是:每两个相邻数做差值从而判断一段数列的差值数列是否相等。 分组,对于一定的len值,按照名次后缀排列下来的话,每次遇到height=len,现在记录sa的最大和最小值,判断其差值是否大于len(注意不能等于,因为题目规定需要相隔一位),若大于则必然有两个后缀不会重叠且len满足要求。而这个len正是所求的未知数,所以想到了二分答案。 感觉不太原创 2017-08-27 14:40:27 · 161 阅读 · 0 评论 -
POJ 2774 Long Long Message - 后缀数组
大概就是后缀数组的模板题(看着0下标好累,统统改成了1下标233) 两个串中间加一个从未出现的字符分割以免连在一起形成了更大的height,然后就是对于每一个后缀查找height,若它之前的那个后缀和它不在同一个串中(sa一个大于len1,一个小于len1)即为合法情况。扫一遍就ok了。 #include #include #include #include #include usi原创 2017-08-27 14:39:28 · 161 阅读 · 0 评论 -
POJ 3261 Milk Patterns - 后缀数组(论文题)
大概又是一道论文题。问可重叠的至少重复k次的子序列的最大长度。 毅然决然二分长度,然后搜一遍就好了。 #include #include #include #include #include using namespace std; const int maxn=20005; const int maxm=100005; int n,k; int s[maxn]; int c[m原创 2017-08-29 00:22:46 · 200 阅读 · 0 评论