**这里是知识点部分的模板页面,请参照编写,将各部分修改为自己的内容。其中各级标题中用 ''<>'' 包围的部分表示替换为具体内容。** ====== <算法名称> ====== ===== 算法简介(可选) ===== 本页面给出了知识点 wiki 的基本格式。 ===== <算法内容 1> ===== 以下三级标题仅供参考。 ==== 定义 ==== 定义内容。 ==== 性质 1 ==== 性质内容。 **证明(可选)**: $$ 1+1=2\Box $$ ==== 引理 1 ==== 引理内容。 **证明(可选)**: $$ 1+1=2\Box $$ ==== 算法流程 ==== 描述算法流程。 ===== <算法内容 2> ===== 编写时请注意避免以下常见的格式问题: - ==== 引理 1 ==== 设长度为 $L$ 的数列 $c$ 是 $s^{(n)}$ 的递推式,而不是 $s^{(n+1)}$ 的递推式;长度为 $L'$ 的数列 $c'$ 是 $s^{(n+1)}$ 的递推式,那么 $L'\ge n+1-L$。 **证明**:采用反证法,假设 $L'\le n-L$,那么有 $$ \begin{aligned} s_{n}&=-\sum_{i=1}^{L'}c'_{i}s_{n-i}\\ &=-\sum_{i=1}^{L'}c'_{i}\left(-\sum_{j=1}^{L}c_{j}s_{n-i-j}\right) \end{aligned} $$ 注意这里如果 $L'>n-L$,则不能展开成括号内的形式。 $$ \begin{aligned} s_{n}&=-\sum_{j=1}^{L}c_{j}\left(-\sum_{i=1}^{L'}c'_{i}s_{n-i-j}\right)\\ &=-\sum_{j=1}^{L}c_{j}s_{n-j} \end{aligned} $$ 这与 $c$ 不是 $s^{(n+1)}$ 的递推式矛盾。$\Box$ 我们定义 $L^{(n)}(s)$ 表示 $s^{(n)}$ 最小递推式的长度。显然有 $L^{(n)}(s)\le L^{(n+1)}(s)$。假如 $L^{(n)}(s)$ 对应的 $c$ 不是 $s^{(n+1)}$ 的递推式,那么就有 $L^{(n+1)}(s)\ge\max\{L^{(n)}(s),n+1-L^{(n)}(s)\}$。我们定义多项式 $C(x)=1+\sum_{i=1}^{L}c_{i}x^{i}$,并记 $L^{(n)}(s)$ 对应的 $c$ 为 $c^{(n)}$,它对应的多项式为 $C^{(n)}(x)$。 为了便于叙述下面的定理,我们先讲一个性质:如果不同的 $c^{(n)}$ 中,既有是 $s^{(n+1)}$ 的递推式的,也有不是 $s^{(n+1)}$ 的递推式的,那么显然有 $L^{(n)}(s)\ge n+1-L^{(n)}(s)$。 ==== 定理 1 ==== 对于 $\forall n\in\mathbb{N}$,若 $c^{(n)}$ 中有是 $s^{(n+1)}$ 的递推式的,那么 $L^{(n+1)}(s)=L^{(n)}(s)$;若 $c^{(n)}$ 中有不是 $s^{(n+1)}$ 的递推式的,那么 $L^{(n+1)}(s)=\max\{L^{(n)}(s),n+1-L^{(n)}(s)\}$ 。根据上面的性质,如果二者都有,命题也不矛盾。 **证明**:我们用归纳法证明该性质。记 $d_{n}=s_{n}+\sum_{i=1}^{L^{(n)}(s)}c^{(n)}_{i}s_{n-i}$。 第一个部分,即存在一个 $d_{n}=0$。我们只要让 $c^{(n+1)}=c^{(n)}$ 即可。 第二个部分,即存在一个 $d_{n}\neq 0$。若 $L^{(n)}(s)=0$,那么也显然成立。 否则,必然存在一个 $m$,使得 $L^{(m)}(s)