P7739 [NOI2021] 密码箱
考虑对于原先的那个 \(f\) 再取一次倒数,那么就变成了形如:
\[\frac{1}{a_0+\frac{1}{a_1+\frac{1}{\cdots}}}
\]
的连分数形式。我们考虑对于从深向上合并,会有 \(\frac{a^\prime}{b^\prime}=\frac{1}{a_i+\frac{a}{b}}=\frac{b}{a_ib+a}\),即 \(a^\prime\leftarrow b,b^\prime\leftarrow a_ib+a\)。我们发现这样可以转成矩阵维护,即变成:
\[\begin{bmatrix}
a^\prime\\
b^\prime
\end{bmatrix}=\begin{bmatrix}
0& 1 \\
1 & a_i
\end{bmatrix}\begin{bmatrix}
a\\
b
\end{bmatrix}\]
那么最终由矩阵结合律发现就是若干个上述矩阵相乘得到。
考虑两个操作。对于 W,给序列最后一项加 \(1\)。即
\[\begin{bmatrix}
0& 1 \\
1 & a_e
\end{bmatrix}\leftarrow\begin{bmatrix}
0& 1 \\
1 & a_e+1
\end{bmatrix} \]
那么发现直接在末尾乘一个矩阵可以变成
\[\begin{bmatrix}
0& 1 \\
1 & a_e
\end{bmatrix} \begin{bmatrix}
1& 1 \\
0 & 1
\end{bmatrix} \]
即可。那么我们考虑 E 操作,发现对于 \(a_e >1\) 是好做的,直接乘上
\[\begin{bmatrix}
1& -1 \\
0 & 1
\end{bmatrix} \begin{bmatrix}
0& 1 \\
1 & 1
\end{bmatrix} ^2=\begin{bmatrix}
0& -1 \\
1 & 2
\end{bmatrix} \]
但是对于 \(a_e=1\) 的,可以认为操作变成:
\[\begin{bmatrix}
0& 1 \\
1 & a_{e-1}
\end{bmatrix}\begin{bmatrix}
1& 1 \\
0 & 1
\end{bmatrix}\begin{bmatrix}
0& 1 \\
1 & 1
\end{bmatrix}\]
发现等价于在末尾乘上一个
\[\begin{bmatrix}
0& -1 \\
1 & 2
\end{bmatrix} \]
剩下的使用平衡树维护即可。

浙公网安备 33010602011771号