Chgtaxihe's blog Chgtaxihe's blog
首页
练习
算法学习
读书笔记
小玩意

Chgtaxihe

首页
练习
算法学习
读书笔记
小玩意
  • 数论

  • 动态规划

  • 暴力

  • 图论

  • 数据结构

  • 字符串

    • AC自动机学习笔记
    • KMP/扩展KMP学习笔记
    • Lyndon分解学习笔记
    • Manacher学习笔记
    • 后缀数组
    • 后缀自动机学习笔记
    • 回文树
    • 子序列自动机
    • 字符串基础
  • 几何

  • 博弈论

  • 其他

字符串基础

# 前言

看见字符串问题就头疼

# 定义

  1. 周期(循环节):

    若 0<p≤∣s∣,s[i]=s[i+p],∀i∈{1,⋯,∣s∣−p},0<p \leq\mid s\mid , s[i]=s[i+p], \forall i \in\{1, \cdots,\mid s\mid-p\},0<p≤∣s∣,s[i]=s[i+p],∀i∈{1,⋯,∣s∣−p}, 就称 ppp 是 sss 的周期 (period)。

  2. border:

    若 0≤r<∣s∣,pre⁡(s,r)=suf⁡(s,r),0 \leq r<\mid s\mid, \operatorname{pre}(s, r)=\operatorname{suf}(s, r),0≤r<∣s∣,pre(s,r)=suf(s,r), 就称 pre⁡(s,r)\operatorname{pre}(s, r)pre(s,r) 是 sss 的border。

显然,若pre(s,r)pre(s,r)pre(s,r)是sss的border,则∣s∣−r\mid s\mid - r∣s∣−r是sss的周期。

# Weak Periodicity Lemma

若ppp和qqq是字符串sss的周期,且p+q≤∣s∣p+q\le \mid s\midp+q≤∣s∣,则abs(p−q)abs(p-q)abs(p−q),gcd(p,q)gcd(p,q)gcd(p,q)也是sss的周期。

证明如下:

令p>qp>qp>q,设d=p−qd=p-qd=p−q,则对于任意i∈{1,2,⋯,∣s∣}i\in\{1,2,\cdots,\mid s\mid\}i∈{1,2,⋯,∣s∣}

  • i>pi>pi>p,则s[i]=s[i−p]=s[i−p+q]=s[i−d]s[i]=s[i-p]=s[i-p+q]=s[i-d]s[i]=s[i−p]=s[i−p+q]=s[i−d]
  • i≤pi\le pi≤p,则i+q≤∣S∣i+q\le\mid S\midi+q≤∣S∣,故s[i]=s[i+q]=s[i+q−p]=s[i−d]s[i]=s[i+q]=s[i+q-p]=s[i-d]s[i]=s[i+q]=s[i+q−p]=s[i−d]

因此,ddd也是sss的周期。

不断递归,可知gcd(p,q)gcd(p,q)gcd(p,q)也是sss的周期。

# Periodicity Lemma

若ppp和qqq是sss的周期,p+q−gcd(p,q)≤∣s∣p+q-gcd(p,q)\le\mid s\midp+q−gcd(p,q)≤∣s∣,则gcd(p,q)gcd(p,q)gcd(p,q)也是sss的周期。

证明如下:

不会,请自行查阅本文 (opens new window)

上次更新: 2021/02/24, 03:37:30
子序列自动机
几何模板

← 子序列自动机 几何模板→

最近更新
01
深入理解Java虚拟机
03-04
02
DNS工作原理
02-27
03
改用VuePress啦
02-23
更多文章>
Theme by Vdoing | Copyright © 2019-2021
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式