[NOI2013] 矩阵游戏
各位我是弱智石锤了。
题目可能不是很难但是有点细节要注意。
首先考虑行和列我们分别来看:
- 对于列的情况我们只需要前一项即可递推。
- 对于行的情况我们只需要上一项也可递推。
那么本质上题目就提示我们可以只保留一项进行矩阵快速幂。
不妨设答案矩阵是
[ 1 f m ] \left[ \begin{matrix} 1 & f_m \end{matrix} \right] [1fm]
我们考虑首先递推同一行之后再递推列,最后一行单独拿出来处理。
[ [ 1 b 0 a ] m − 1 × [ 1 d 0 c ] ] n − 1 × [ 1 b 0 a ] m − 1 \left[ \left[ \begin{matrix} 1 & b \\ 0 & a \end{matrix} \right] ^ {m - 1} \times \left[ \begin{matrix} 1 & d \\ 0 & c \end{matrix} \right] \right] ^ {n - 1} \times \left[ \begin{matrix} 1 & b \\ 0 & a \end{matrix} \right] ^{m - 1} [[10ba]m−1×[10dc]]n−1×[10ba]m−1
注意 矩阵乘法不满足交换律,所以我们矩阵必须按照顺序进行计算。
之后还有一个问题就是 n , m n, m n,m 实际上是很大的,但是对于矩阵不一定有费马小定理。
我们考虑对于第一个矩阵的 m o d − 1 mod - 1 mod−

这篇博客详细解析了NOI2013中关于矩阵游戏的问题,强调了行和列的递推性质,并指出可以通过矩阵快速幂来求解。博主指出了矩阵乘法的顺序重要性,并讨论了大数幂次情况下如何利用费马小定理优化计算,特别是处理特殊情形如a等于1的情况。最后,博主提及了处理大数n限制的方法。
最低0.47元/天 解锁文章
3713

被折叠的 条评论
为什么被折叠?



