2026.1.25 闲话

我已经退役了,为了防止大家不知道所以在这里先提一下(

放假回来发现我的咏叹调调律竟然被洛谷 2025 年度试题推荐选集收录,介于我制作的有点别的题实在是没人要,而这个题竟然还有人喜欢,实在是非常的开心,让我又感觉我的 OI 生活简直是包裹在幸福之中 .

うたかた アリアで潤して
在短暂的咏叹调中润泽

もうドキドキバブリー泡洗体
怦然☆心动~的泡沫浴

(引用段落与上下文无关)

这也就是 2026 年的第一个闲话了!虽然比较晚!


学习了 whk 中的“不动点法”,简单记录一下关于这个方法的一点浅薄的理解(

从这样一个问题开始:对于数列 \(\{a\}\) 满足递推关系:

\[a_n=p\cdot a_{n-1}+q \]

该如何求解?

考虑到非齐次线性递推的处理方法,一种想法是在递推式的两侧加上一个适宜的常数以简化问题:

\[a_n+\dfrac q{p-1}=p\cdot\left(a_{n-1}+\dfrac q{p-1}\right) \]

适当审视一下这个技术,问题相当于求解对于某个起点 \(x_0\) 复合 \(n\) 次线性变换 \(T\) 的结果,其中 \(T(x)=px+q\) .

关于函数复合,可以发现一种类似于“相似”的概念:\(T=S\circ C\circ S^{\langle-1\rangle}\implies T^{\langle n\rangle}=S\circ C^{\langle n\rangle}\circ S^{\langle -1\rangle}\) .

那么要做什么应该就比较显然了 . 断言:对于 \(p\neq 1\) 的情形,\(T\) 一定和某个 \(kx\) 相似(这很大程度上取决于线性变换关于复合是封闭的).

可以写出这样的表达式:\(px+q=(x-c)\circ (tx)\circ (x-c)^{\langle-1\rangle}\),解方程即可,接下来的操作大概是这样的:

\[\begin{array}{rcl}a_n&-T\!\!\!\to& a_{n+1}\\S\downarrow{}&&\uparrow S^{\langle-1\rangle}\\b_n&-C\!\!\!\to&b_{n+1}\end{array} \]

(我也不知道应该怎么制作这种类似于关系图状物,就随意画了一个)

关于所谓“不动点法”,简要来说可以认为是通过计算 \(\lambda=T(\lambda)\) 的解更方便的得到上文中的 \(c\) .

先结束关于这个问题的讨论,下面考虑一个更复杂的问题:

\[a_n=\dfrac{pa_{n-1}+q}{ra_{n-1}+s} \]

这种复合线性分式变换的形式也很经典(详见 uoj count),不过 OI 中似乎不太有人关心怎么求解它的封闭形式 .

首先需要声明的一点是,线性分式变换的复合和矩阵乘法很大程度上是一致的:

\[\dfrac{pa_{n-1}+q}{ra_{n-1}+s}=\dfrac{p_1a_{n-1}+q_1}{r_1a_{n-1}+s_1}\circ \dfrac{p_2a_{n-1}+q_2}{r_2a_{n-1}+s_2}\text{ where }\begin{bmatrix}p&q\\r&s\end{bmatrix}=\begin{bmatrix}p_1&q_1\\r_1&s_1\end{bmatrix}\begin{bmatrix}p_2&q_2\\r_2&s_2\end{bmatrix} \]

那么计算线性分式变换的复合其实只需要计算矩阵乘法……而矩阵的幂的处理方法是熟知的:只需对角化即可 .

然而对角化一般是比较难操作的,下面直接给出一个综合性的相对容易计算的处理方式:

  1. 如果 \(ps=rq\),那么问题是平凡的,过于简单在此不表 .

  2. 计算 \(x=\dfrac{px+q}{rx+s}\) 的解 \(\lambda_1,\lambda_2\),如果有重根比较简单懒得写了,下面考虑没有重根的情形 .

  3. 如果还是用类似的思路,我们应该想让原变换 \(T\) 透过一个线性分式变换 \(S\) 后得到一个单纯的 \(C(x)=tx\)

    \[T=S\circ C\circ S^{\langle-1\rangle} \]

    \[\begin{array}{rcl}a_n&-T\!\!\!\to& a_{n+1}\\S\downarrow{}&&\uparrow S^{\langle-1\rangle}\\b_n&-C\!\!\!\to&b_{n+1}\end{array} \]

    容易发现此处可取 \(S(x)=\dfrac{x-\lambda_1}{x-\lambda_2}\)(需要根据初值调整是谁比谁使得分母随时不为 0).

    关于 \(C(x)=tx\) 如何确定,可以考虑先求 \(\begin{bmatrix}p&q\\r&s\end{bmatrix}\) 的特征多项式 \(P(x)\)(由于是二阶矩阵,所以只需要计算行列式和迹),然后确定特征根 \(\mu_1,\mu_2\) .

    那么根据对角化道理,\(t\) 就是两个特征根的比值(具体可以通过大小关系确定到底谁比谁).

  4. 到此为止,只需要解一点简单的二次方程即可得到答案的表达式,如果需要写过程只需要利用数学归纳法 .

其中可能还有一些别的 trivial case 不能处理,我也不太愿意考虑,就先暂且搁置 .

图片

正如具体数学所言,我们的工作是尽可能减少处理过程中的灵感,而逐渐让技术变得机械化 .

顺应 whk 资料的特性,放一个例题演示操作的过程:

\[a_1=3\qquad a_n=\dfrac{4a_n-2}{a_n+1} \]

不动点 \(\lambda_1=1,\,\lambda_2=2\),特征多项式 \(x^2-5x+6\),特征值 \(\mu_1=3,\,\mu_2=2\),从而我们可以预见:

\[\dfrac{a_n-1}{a_n-2}=2\cdot\left(\dfrac32\right)^{n-1} \]

那么可以轻易求得 \(a_n\) .

到此为止,我们有理由认为这类问题已经被基本讨论完毕,并且在实践中可以轻松解决此类问题 .

不过一般也不出这种题所以也没啥用、、而且没有经过严格验证与测试,如果有问题请指出(

posted @ 2026-01-25 00:54  Jijidawang  阅读(143)  评论(2)    收藏  举报
😅​