![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后缀数组
yashem66
长期提供绕地人造卫星清洗除尘服务。
展开
-
冲刺NOI2017 (24) A (后缀数组 回滚莫队)
题目大意给出一个长度为nn的字符串ss,提出qq个询问,对于每个询问要求回答:右端点在区间[l,r][l,r]的所有前缀,最长公共后缀最长的一对前缀的最长公共后缀的长度是多少。题解因为要在原串的前缀上分析后缀十分的别扭,所以对这个问题略作转化:将原串翻转过来,求左端点在区间[l,r][l,r]内的后缀的lcp(最长公共前缀)。同时不要忘记把询问也翻转到同样的姿势。问题已经转化为了:左端点在区间[l,原创 2017-06-22 23:04:09 · 642 阅读 · 0 评论 -
Suffix_Array模板重置版
#include <cstdio>#include <iostream>#include <string>#include <algorithm>using namespace std;const int maxn=int(1e6)+10;int n,k;int rnk[maxn],tmp[maxn];int sa[maxn];int lcp[maxn];bool cmp(int a,原创 2017-02-04 14:43:35 · 349 阅读 · 0 评论 -
(新知)字符串--后缀数组--一个有个性的好模板
和其他的版本换汤不换药,以二元组的形式进行比较。时间复杂度为O(nlog2n)。#include<bits/stdc++.h>using namespace std;#define len (int)str.size()const int maxn=int(1e6)+10;string str;int M=1;int s[maxn]; //序列数组int rnk[maxn],tmp[ma原创 2016-12-17 19:57:40 · 260 阅读 · 0 评论