字符串
如题
Yuhan の Blog
这个作者很懒,什么都没留下…
展开
-
团体程序设计天梯赛 L2-008 最长对称子串 (25分)
题目链接: L2-008 最长对称子串 (25分) 思路: 本题是求最长回文串的裸题,据说暴力也能过? 博主是用的字符串后缀数组+高度数组+区间RMQ解的,是最麻烦的一种求法,为什么自找麻烦呢?因为纯粹想复习一下后缀数组:) 求解回文串有更加简洁高效的算法例如Manacher算法; 既然是裸题就不多赘述了,在复习后缀数组的过程中遇到两个注意点博主在此罗列一下,提醒自己也希望能帮到大家: 1....原创 2020-01-19 19:16:25 · 319 阅读 · 0 评论 -
HDU 3948 The Number of Palindromes(后缀数组+RMQ)
题目链接: 3948 The Number of Palindromes 思路: 我们使用后缀数组+RMQ可以实现查找回文的功能,这题的重点的去重过程; 为了方便去重,我们不按字符串的下标来遍历,而按以及排好的rk[]的顺序去遍历; 维护一个变量cnt记录上次的回文串长度和此次高度数组两者的最小值,如果此次RMQ查询结果大于cnt,说明有新的回文串,否则就是重复的。 代码: #includ...原创 2019-12-27 19:43:26 · 108 阅读 · 0 评论 -
POJ 2217 Secretary(后缀数组+高度数组)
题目链接: 2217 Secretary 思路: 将两个字符串用一个不会出现的字符,如$连接起来,然后求此字符串的高度数组,从前往后遍历所有i,当sa[i]和sa[i+1即两个子串的起始位置在两个不同的字符串中时(即我们相加的这两个字符串),此时i的height即为公共子串长度,我们找到最大值即可 代码: #include<iostream> #include<strin...原创 2019-12-23 20:55:21 · 94 阅读 · 0 评论 -
PAT顶级 1005 Programming Pattern (35分)(后缀数组+基数排序 或 字符串哈希)
题目链接: 1005 Programming Pattern (35分) 思路: 有两种做法(见标题) 1.第一种做法我们得到后缀数组和高度数组后,需要转变一下思维,求长度为N、出现频率最高、字典序最小的子串,我们观察高度数组可以发现,如果有连续的k个h[i]>=N,那必定有k+1个这样的子串,将k记录下来;从前往后遍历,由于本身已经按字典序排好序,我们之后找到另一个k大于先前记录的k...原创 2019-12-23 18:22:53 · 713 阅读 · 0 评论