OSDN Git Service
(root)
/
oi-wiki
/
main.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
729b416
)
Fix a tiny issue
author
Lynn Speng
<36693973+Lynn-Speng@users.noreply.github.com>
Thu, 29 Oct 2020 16:59:23 +0000
(
00:59
+0800)
committer
GitHub
<noreply@github.com>
Thu, 29 Oct 2020 16:59:23 +0000
(
00:59
+0800)
Correct the wrong index.
docs/string/kmp.md
patch
|
blob
|
history
diff --git
a/docs/string/kmp.md
b/docs/string/kmp.md
index
99b48de
..
7098f16
100644
(file)
--- a/
docs/string/kmp.md
+++ b/
docs/string/kmp.md
@@
-122,7
+122,7
@@
$$
如果我们找到了这样的长度 $j$ ,那么仅需要再次比较 $s[i + 1]$ 和 $s[j]$ 。如果它们相等,那么就有 $\pi[i + 1] = j + 1$ 。否则,我们需要找到子串 $s[0\dots i]$ 仅次于 $j$ 的第二长度 $j^{(2)}$ ,使得前缀性质得以保持,如此反复,直到 $j = 0$ 。如果 $s[i + 1] \neq s[0]$ ,则 $\pi[i + 1] = 0$ 。
-观察上图可以发现,因为 $s[0\dots \pi[i]] = s[i-\pi[i]+1\dots i]$ ,所以对于 $s[0\dots i]$ 的第二长度 $j$ ,有这样的性质:
+观察上图可以发现,因为 $s[0\dots \pi[i]
-1
] = s[i-\pi[i]+1\dots i]$ ,所以对于 $s[0\dots i]$ 的第二长度 $j$ ,有这样的性质:
$$
s[0 \dots j - 1] = s[i - j + 1 \dots i]= s[\pi[i]-j\dots \pi[i]-1]