我说有些数学测试不要太地狱
手算矩阵快速幂都来了。

原题
数列 \(u_n\) 满足:
\[u_1=2,u_2=5,u_{n+1}=\left\{\begin{matrix}
2u_n-u_{n-1}, & 2\nmid n\\
3u_n-u_{n-1}, & 2\mid n
\end{matrix}\right.\]
求 \(u_{2050} \bmod 100\)。
官解给的是算二阶递推矩阵然后手算矩阵快速幂。不过稍微有点良心的是它给你设好了 1024 次方,只用算 10 次,为数不多的良心了。
说回正题。这题的另一个计算量小一点的方法是,设 \(a_n=u_{2n-1},b_n=u_{2n}\),用二阶齐次递推你会得到 \(b_{n+1}=4b_{n}-b_{n-1}\)。使用 \(100=4\times 25\),对着\(\bmod 4\) 和\(\bmod 25\) 分别算,你会发现\(\bmod 4\) 非常好算,而\(\bmod 25\) 下是以 15 为周期的,最终得到答案 \(1\)。这不比手算矩阵快速幂强。
当然如果想要在不知道周期性的情况下保证稳定做出这个题,那还是算矩阵快速幂去吧(它甚至都不把\(\bmod 4\) 拆出来)

浙公网安备 33010602011771号