目录
摘要 ………………………………………………………………………………… 4
关键字 ……………………………………………………………………………… 4
正文 ………………………………………………………………………………… 4
一、 后缀数组的实现 ………………………………………………………………… 4
1 . 1 基本定义 ………………………………………………………………… 4
1 . 2 倍增算法 ………………………………………………………………… 6
1 . 3 DC3 算法 ………………………………………………………………… 9
1
.
4 倍增算法与 DC3 算法的比较 …………………………………………… 1 4
二、后缀数组的应用 ……………………………………………………………… 15
2
.
1 最长公共前缀 …………………………………………………………… 1 5
例 1 : 最长公共前缀 …………………………………………………… 1 7
2
.
2 单个字符串的相关问题 ………………………………………………… 1 7
2
.
2
.
1 重复子串 ……………………………………………………… 1 8
例 2 : 可重叠最长重复子串 ……………………………………… 1 8
例 3
: 不可重叠最长重复子串 (
pku1743
)
……………………… … 18
例 4
: 可重叠的最长重复子串 (
pku3261
)
……………………… … 19
2
.
2
.
2 子串的个数 …………………………………………………… 1 9
例 5 :不相同的子串的个数( spoj694,spoj705 ) ……………… 1 9
2
.
2
.
3 回文子串 ……………………………………………………… 1 9
例 6
: 最长回文子串 (
ural1297
)
………………………………… 20
2
.
2
.
4 连续重复子串 ………………………………………………… 2 0
例 7 : 连续重复子串 (pku2406) …………………………………… 2 0
例 8 : 重复次数最多的连续重复子串 (spoj687,pku3693) ……… 2 1
2
.
3 两个字符串的相关问题 ………………………………………………… 2 1
2
.
3
.
1 公共子串 ……………………………………………………… 2 2
例 9 : 最长公共子串 (pku2774,ural1517) ……………………… 2 2
2
.
3
.
2 子串的个数 …………………………………………………… 2 3
评论0
最新资源