Loading docs/string/manacher.md +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ for (int i = 0; i < n; i++) { 这里我们将只描述算法中寻找所有奇数长度子回文串的情况,即只计算 $d_1[]$ ;寻找所有偶数长度子回文串的算法(即计算数组 $d_2[]$ )将只需对奇数情况下的算法进行一些小修改。 为了快速计算,我们维护已找到的子回文串的最靠右的 **边界 $(l, r)$ ** (即具有最大 $r$ 值的回文串)。初始时,我们置 $l = 0$ 和 $r = -1$ 。 为了快速计算,我们维护已找到的最靠右的子回文串的 **边界 $(l, r)$ ** (即具有最大 $r$ 值的回文串,其中 $l$ 和 $r$ 分别为该回文串左右边界的位置)。初始时,我们置 $l = 0$ 和 $r = -1$ 。 现在假设我们要对下一个 $i$ 计算 $d_1[i]$ ,而之前所有 $d_1[]$ 中的值已计算完毕。我们将通过下列方式计算: Loading Loading
docs/string/manacher.md +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ for (int i = 0; i < n; i++) { 这里我们将只描述算法中寻找所有奇数长度子回文串的情况,即只计算 $d_1[]$ ;寻找所有偶数长度子回文串的算法(即计算数组 $d_2[]$ )将只需对奇数情况下的算法进行一些小修改。 为了快速计算,我们维护已找到的子回文串的最靠右的 **边界 $(l, r)$ ** (即具有最大 $r$ 值的回文串)。初始时,我们置 $l = 0$ 和 $r = -1$ 。 为了快速计算,我们维护已找到的最靠右的子回文串的 **边界 $(l, r)$ ** (即具有最大 $r$ 值的回文串,其中 $l$ 和 $r$ 分别为该回文串左右边界的位置)。初始时,我们置 $l = 0$ 和 $r = -1$ 。 现在假设我们要对下一个 $i$ 计算 $d_1[i]$ ,而之前所有 $d_1[]$ 中的值已计算完毕。我们将通过下列方式计算: Loading