后缀数组
算球?
在校学生
展开
-
spoj 694 Distinct Substrings (后缀数组)
算法合集之《后缀数组——处理字符串的有力工具》里面的例题,思路也在里面,不过里面说“ 对于每一次新加进来的后缀 suffix(sa[k]),它将产生 n-sa[k]+1 个新的前缀”,我在代码中 写的是“n-sa[k]”,因为sa数组计数的时候是从0开始的,所以,直接减掉就是增加的新的前缀的个数。#include <cstdio>#include <cstring>const int MAXN =原创 2017-04-24 21:13:33 · 404 阅读 · 0 评论 -
poj 1743 Musical Theme(后缀数组)
后缀数组第一题,RE好多次,看了好多题解,最终在discuss里找到了正解:http://poj.org/showmessage?message_id=341423 代码里是先做差再求height数组,原因是题目中的转置,两个数字都加上一个相同的量,两个数字之间的差值也是不会变的。 题目的思路是看的:算法合集之《后缀数组——处理字符串的有力工具》这里面的,这个是里面的例题。。。#includ原创 2017-04-24 18:33:07 · 849 阅读 · 0 评论 -
poj 3261 Milk Patterns(后缀数组,二分)
和poj 1743 差不多 也是算法合集之《后缀数组——处理字符串的有力工具》里面的例题。 里面也有思路#include <cstdio>#include <cstring>const int MAXN = 1000010;int r[MAXN],K,N,sa[MAXN];int wa[MAXN],wb[MAXN],wv[MAXN],ws[MAXN];int cmp(int *r,int原创 2017-04-24 20:01:11 · 322 阅读 · 0 评论