摘要: 这个同学写的太好了,于是我又厚颜无耻的借鉴了 修改自:地址 例一:POJ 3070题目:斐波那契数列f(n),给一个n,求f(n)%10000,n<=1e9; (这题是可以用fibo的循环节去做的,不过这里不讲,反正是水题) 矩阵快速幂是用来求解递推式的,所以第一步先要列出递推式: f(n)=f(n 阅读全文
posted @ 2018-03-25 19:25 柳暗花明_liu 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 改编自:地址 第一篇介绍了如何快速求幂,这一篇介绍如何用数字快速求幂的思想,来快速求矩阵之幂 这是求矩阵A、B乘积的代码: 这里我直接写的是n*n的矩阵(即方阵),显然两个相乘是要一行和一列对应乘,那么矩阵乘法是需要A的行数与B的列数相等的(这是A*B的前提条件,可见矩阵的乘法是不满足交换律的)。然 阅读全文
posted @ 2018-03-25 18:47 柳暗花明_liu 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 修改自:地址 快速幂这个东西比较好理解,但实现起来到不老好办,记了几次老是忘,今天把它系统的总结一下防止忘记。 首先,快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn),快了好多好多。它的原理如下 阅读全文
posted @ 2018-03-25 18:30 柳暗花明_liu 阅读(286) 评论(0) 推荐(0) 编辑