码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
uva 12206 - Stammering Aliens(哈希)
题目链接:uva 12206 - Stammering Aliens 题目大意:给出一个字符串,找出至少出现m次的最长子串。 解题思路:哈希算法,将每个后缀数组建立一个哈希值,每次二分长度判断,每次判断时将哈希值排序,计数即可。 #include #include #include using namespace std; typedef unsigned long lon...
分类:其他好文   时间:2014-09-01 22:47:33    阅读次数:279
字符串 自己看看留个纪念而已
题目poj1226(可暴力,可后缀数组)//题意:给定n个串,求一个最大子串长度,//使得它或者它的逆向串在每个串中出现。 //思路:先求出最短的串sho[],然后枚举答案长度ans(len~1)。//于是sho[]就被分成了len-ans+1个子串pos[],//再分别求出这些字串的反串inv[]...
分类:其他好文   时间:2014-09-01 15:24:43    阅读次数:183
Hdu 4117 GRE Words (后缀数组+dp)
题目大意: 求出最多能记住的单词的权值和,要求最大。 记住的规则就是上一个单词是这个单词的子串。 思路分析: 首先得声明这题是数据水了才能用sa做的。 sa的复杂度最多可以达到 Orz(sumlen * sumlen) ... 所以我们sa处理的就是这个串是否是下一个串的子串,如果是就转移方程。 dp[i] = max (dp[i] , dp[j] + val[i])... ...
分类:其他好文   时间:2014-08-31 00:33:40    阅读次数:256
关于后缀数组的实现
后缀数组的实现有很多细节:1.da函数中的n 指的是 从 0--n-1 为字符,对这n个后缀排序2.r[n-1]为在原字符串后面加的比前面任何一个字符都小的辅助字符,所以原来的字符串应该是r[0]---r[n-2]3.sa[0]=n-1为增添的辅助字符,所以sa转rank 的时候 i=1 to n-...
分类:其他好文   时间:2014-08-29 01:16:06    阅读次数:207
Uva 12361 File Retrieval 后缀数组+并查集
题意:有F个单词,1 h[v]的子串所在的单词形成的并查集中,得到的并查集中单词一定有长度>=h[v]公共字串,这样的并查集实际就是一个合法的单词集合,可以利用二进制表示,每次得到新的集合则将二进制表示加入到统计集合的set中,最后结果就是set的大小。AC代码其实是比赛时写的,当时多个单词部分不....
分类:其他好文   时间:2014-08-28 00:50:38    阅读次数:307
OI分类
黑字:认识红字:要学未添加:要学├─模拟├─字符串│ ├─字符串基础│ ├─kmp│ ├─trie│ ├─ac自动机│ ├─后缀数组│ └─后缀树├─搜索│ ├─深度搜索(dfs)│ ├─记忆化搜索│ ├─广度搜索(bfs)│ ├─双向广搜│ ├─回溯│ ├─A*│ ├─迭代深搜│ ├─IDA*│ ...
分类:其他好文   时间:2014-08-24 14:10:52    阅读次数:353
poj 2774 Long Long Message,后缀数组,求最长公共子串 hdu1403
题意:给出两个字符串,求最长公共子串的长度。 题解:首先将两个字符串连在一起,并在中间加一个特殊字符(字串中不存在的)分割,然后两个串的最长公共字串就变成了所有后缀的最长公共前缀。这时就要用到height数组,因为任意两个后缀的公共前缀必定是某些height值中的最小值,而这个值如果最大则一定是height中的最大值。在此题中还要注意height最大一定要在两个值所代表的后缀分属不同的字...
分类:其他好文   时间:2014-08-24 10:19:22    阅读次数:184
UVA 10829 - L-Gap Substrings(后缀数组)
UVA 10829 - L-Gap Substrings 题目链接 题意:一个字符串如果形如UGU,的形式,G的长度为L,那么称这个字符串为L串,给定一个字符串,问这个字符串子串为g串的个数 思路:做这题前先做了POJ3693,有一个思想就是枚举长度分段,这样的话对于一个U长度为l的而言,只要在当前位置和当前位置之后(l + g)的位置分别向前向后找lcp,两个lcp加起来的长度...
分类:其他好文   时间:2014-08-23 20:24:21    阅读次数:349
POJ 3693 Maximum repetition substring(后缀数组神题)
POJ 3693 Maximum repetition substring 题目链接 题意:给定一个字符串,求出其子串中,重复次数最多的串,如果有相同的,输出字典序最小的 思路:枚举长度l,把字符串按l分段,这样对于长度为l的字符串,肯定会包含一个分段位置,这样一来就可以在每个分段位置,往后做一次lcp,求出最大匹配长度,然后如果匹配长度有剩余,看剩余多少,就往前多少位置再做一次...
分类:其他好文   时间:2014-08-23 19:05:11    阅读次数:215
Hackerrank--Ashton and String (后缀数组)
#include #include #include using namespace std;#define maxn 100100int wa[maxn],wb[maxn],wv[maxn],ws[maxn];int r[maxn],sa[maxn];char str[maxn];int cmp(...
分类:其他好文   时间:2014-08-23 16:35:51    阅读次数:261
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!