题意:给定一个串,长度<=10^5,求它重复次数最多的连续重复子串(输出字典序最小的那个)。 例如ccabcabc,答案就是abcabc 一开始没想清楚,结果调了好久。 对于当前的L,i,i+1,x=s[i*L],y=s[(i+1)*L],找前找后,知道了最早能匹配到t0,最晚能匹配到t1,因为不知 ...
分类:
编程语言 时间:
2016-09-25 17:33:44
阅读次数:
230
后缀数组被称为字符串处理神器,要解决字符串问题,一定要掌握它。(我这里的下标全部都是从1开始) 首先后缀数组要处理出两个数组,一个是sa[],sa[i]表示排名第i为的后缀的起始位置是什么,rank[i]表示第i个字符为起始点的后缀,它的排名是什么。可以知道sa[rank[i]] = i; rank ...
分类:
编程语言 时间:
2016-09-22 21:20:27
阅读次数:
282
第一题 题目大意:一个n*m的矩形,有k个点不能取,求最大子正方形。 很裸的二维动归,100分没得说的。 为了对拍,写了一个很弱的暴力 数据生产程序: 第二题 题目大意:给定一个全是大写字母的字符串,请求出它有多少个不同的子串。 后缀数组模板题,100分也拿到了。 第三题 题目描述:秦新要穿越混乱城 ...
分类:
其他好文 时间:
2016-09-16 22:35:47
阅读次数:
276
全是大水题所以AK了……然而这个水题A的也没什么意义 主要原因就是这套题中涉及到的两个重要的知识点后缀数组和tarjian我居然忘了 恩?有个奇怪的东西混进来了,NOIP模拟题出个后缀数组模板题也不知道是想闹哪样 而且tarjian这种东西忘了也是很吓人的错误,发生在考场上两眼一黑就可以去死了 反观 ...
分类:
其他好文 时间:
2016-09-16 15:29:02
阅读次数:
130
题目大概说给一个字符串,将所有不同子串从小到大排序,多次询问,每次询问输出第k个子串是哪个子串。 ...
分类:
编程语言 时间:
2016-09-11 23:01:27
阅读次数:
223
[HAOI2016]找相同子串 【题目描述】 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 【输入格式】 两行,两个字符串s1,s2,长度分别为n1,n2。 【输出格式】 输出一个整数表示答案。 【样例输入】 【样例输出 ...
分类:
编程语言 时间:
2016-09-11 10:13:41
阅读次数:
227
题目大意:给出n个字符串,找出所有最长的在超过一半的字符串中出现的子串。 题目分析:将所有的字符串连成一个,二分枚举长度,每次用O(n)的时间复杂度判断。连接字符串的时候中间添一个没有出现过的字符。 代码如下: ...
分类:
编程语言 时间:
2016-09-09 20:20:04
阅读次数:
197
题目链接:http://poj.org/problem?id=3581 题目大意:给一个数列,要求将其分成三段,每段进行翻转后形成后合并成新数列,求按字典顺序最小的新数列。 思路: 注意到题目中数列a0,a2,a3...an-1, a0是最大的,因此将原数列翻转后an-1,an-2,...,a1,a ...
分类:
编程语言 时间:
2016-09-08 18:35:35
阅读次数:
156
题目大意:回答任意两个子串的最长公共前缀。 题目分析:后缀数组的模板题。但是输入输出都要外挂。 代码如下: ...
分类:
编程语言 时间:
2016-09-08 14:28:53
阅读次数:
130