
在信息学奥赛(尤其是NOI系列比赛)中,矩阵乘法并不是简单地“算两个矩阵相乘”,而是作为一种高效工具来解决以下几类经典问题:
✅ 1. 线性递推加速(矩阵快速幂)
典型题目:斐波那契数列第n项(n ≤ 10^18)
核心思想:
将递推式 转化为矩阵形式:
用矩阵快速幂在 时间内求出第n项,避免
递推。
✅ 2. 图上路径计数(邻接矩阵幂)
典型题目:给定一张图,求从点u到点v恰好走k步的路径数
核心思想:
•
用邻接矩阵 表示图(
表示i→j有边)。
•
则 的
项即为从i到j走k步的路径数。
•
用矩阵快速幂计算,复杂度
。
✅ 3. 动态规划状态转移优化
典型题目:
• GT考试:给定一个字符串模板,求长度为n且不包含该模板的字符串个数。
• 牡牛与牝牛:公牛和母牛排列问题,限制连续公牛数量。
核心思想:
• 将DP状态表示为向量,转移方程写成矩阵乘法形式。
•
用矩阵快速幂将 的DP优化为
。
✅ 4. 基础矩阵乘法模板题
典型题目:《信息学奥赛一本通》T1125:给定两个矩阵A和B,求乘积C。
作用:熟悉矩阵乘法的三重循环实现和边界处理。
✅ 5. 几何变换(旋转/缩放)
典型应用:在图形学或计算几何中,用矩阵乘法表示旋转、平移、缩放等变换(如图像旋转题)。
📌 总结:矩阵乘法在信息学奥赛中的三大核心价值
场景类型 |
核心技巧 |
复杂度优化 |
线性递推 |
构造转移矩阵 + 快速幂 |
|
图上路径 |
邻接矩阵幂次 |
|
DP优化 |
状态转矩阵 |
|
📚 推荐练习:
• 信息学奥赛一本通:T1641(矩阵乘法模板)、T1642(斐波那契矩阵快速幂)
• NOI Online:矩阵加速递推类题目
• Luogu:P1962(斐波那契)、P2151(GT考试)、P2886(牡牛与牝牛)
一句话总结:
矩阵乘法 = 把递推/DP/图论问题“数学化”,然后用“快速幂”把时间复杂度压到对数级。