码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
后缀数组专题
后缀数组按照惯例,先上模板:char s[maxn];int sa[maxn],t[maxn],t2[maxn],c[maxn],n;void build_sa(int m){ int i,*x=t,*y=t2; for(i=0;i=0;i--) sa[p--c[x[i]]]=i; ...
分类:编程语言   时间:2015-08-13 17:13:42    阅读次数:189
后缀数组模板
模板如下,这样算是写的很详细的了吧。 /* * 后缀数组模板-倍增法 * 使用方法: * 1、读取字符串转换成int数组,长度为len,下标从0开始 * 2、在字符串末尾加一字典序最小字符,一般为0,并找到最大的字符设为maxa * 3、调用函数da(num,sa,len+1,maxa+1) * 求得的sa数组的含义: sa[i]为第i字典序后缀字符串的首字母下标 *...
分类:编程语言   时间:2015-08-11 23:29:20    阅读次数:179
ACM所有算法
ACM 所有算法 数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列 双端队列 可并堆 左偏堆 二叉查找树 Treap 伸展树 并查集 集合计数问题 二分图的识别 平衡二叉树 二叉排序树 线段树 一维线段树 二维线段树 树状数组 一维树状数组 N维树状数组 字典树 后缀数组,后缀树 块状链表 哈夫曼树 桶,跳跃表...
分类:编程语言   时间:2015-08-11 16:13:16    阅读次数:357
求一个字符串中连续出现的次数最多的子串
求一个字符串中连续出现的次数最多的子串。例如字符串“abababc”,最多连续出现的为ab,连续出现三次。要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab。两个题目的解法有些类似,都用到了后缀数组这个数据结构。求一个字符串中连续出现的次数最多的子串,首先生成后...
分类:其他好文   时间:2015-08-11 11:31:19    阅读次数:114
【SuffixArray】bzoj1717 [Usaco2006 Dec] Milk Patterns 产奶的模式
传送门:BZOJ1717解题思路先把正解说一说:单调队列或者二分 然后么。。为什么我写的这么长?! 是罗穗骞的论文题嘛……就当给后缀数组练手吧 可重叠k次重复字串YM代码#include using namespace std; #define rep(i, a, b) for(int i = (a); i <= (b); i++) #define red(i,...
分类:其他好文   时间:2015-08-10 22:18:19    阅读次数:212
POJ 1743 Musical Theme 后缀数组 最长重复不相交子串
Musical ThemeTime Limit: 20 SecMemory Limit: 256 MB题目连接http://poj.org/problem?id=1743DescriptionA musical melody is represented as a sequence of N (1#...
分类:编程语言   时间:2015-08-10 22:05:01    阅读次数:141
poj 2774 Long Long Message 后缀数组
// poj 2774 Long Long Message 后缀数组 // // 题目大意: // // 求两个串的最长公共子串. // // 解题思路: // // 后缀数组.将两个字符串用一个不出现在两个字符串的其他字符连接,并在最后 // 同样用一个字符作为结束.一个串的子串,一定是某个后缀的前缀.求出height数组 // height[i]表示sa[i-1]和sa[i]的公共前缀L...
分类:编程语言   时间:2015-08-10 16:12:56    阅读次数:166
BZOJ 1031: [JSOI2007]字符加密Cipher( 后缀数组 )
为什么我的后缀数组跑得这么慢...把字符串复制一遍放在最后, 然后跑sa, 扫一遍就行了...---------------------------------------------------------------------#includeusing namespace std;const ...
分类:编程语言   时间:2015-08-08 14:56:32    阅读次数:200
BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式( 二分答案 + 后缀数组 )
二分答案m, 后缀数组求出height数组后分组来判断.------------------------------------------------------------#includeusing namespace std;const int maxn = 20009;struct HASH...
分类:编程语言   时间:2015-08-08 11:44:48    阅读次数:427
POJ3415--Common Substrings 后缀数组 +单调栈
题意: 求长度大于等于K的公共子串的个数。位置不同就算不同。后缀数组求依次SA LCP, 然后就是统计答案了, 暴力统计n^2复杂度显然不可以, 我们可以利用lcp数组的"部分单调性", 用一个栈,栈中保存小于等于当前lcp的原数组的下标,两次统计, 第一次统计, 按B串统计, 把A串大于等于K的那...
分类:编程语言   时间:2015-08-07 22:03:51    阅读次数:125
1340条   上一页 1 ... 92 93 94 95 96 ... 134 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!