矩阵
文章平均质量分 82
AC_XXZ
努力了不一定会成功,但不努力肯定会失败
展开
-
矩阵快速幂
typedef struct { LL m[MAX][MAX]; } Matrix; LL a,b,c,n,f1,f2; Matrix P = {0,0,0, 0,0,0, 0,0,0, };//这个是更具你自己构造出来的矩阵 Matrix I = {0,0,0, 0,0,0,原创 2014-12-11 22:45:09 · 918 阅读 · 0 评论 -
白话矩阵快速幂
矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。 这里先对原理(主要运用了矩阵乘法的结合律)做下简单形象的介绍: 一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次幂。 但做下简单的改进就能减少连乘的次数,方法如下: 把n个矩阵进行两两分组,比如:A*A*A*A*A*A => (A*A)*(A*A)*(A*A)转载 2014-12-10 22:18:39 · 657 阅读 · 0 评论 -
最大子矩阵和问题归纳总结
一,最大子矩阵问题: 给定一个n*n(0< n <=100)的矩阵,请找到此矩阵的一个子矩阵,并且此子矩阵的各个元素的和最大,输出这个最大的值。 Example: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其中左上角的子矩阵: 9 2 -4 1 -1 8 此子矩阵的值为9+2+(-4)+1+(-原创 2015-07-25 17:21:43 · 8611 阅读 · 0 评论 -
求斐波那契数列O(logn算法)
矩阵递推关系 学过代数的人可以看出,下面这个式子是成立的: 不停地利用这个式子迭代右边的列向量,会得到下面的式子: 这样,问题就转化为如何计算这个矩阵的n次方了,可以采用快速幂的方法。快速幂_百度百科是利用结合律快速计算幂次的方法。比如我要计算,我们知道,而可以通过来计算,而可以通过计算,以此类推。通过这种方法,可以在O(lbn)的时间里计算出一个数的n次幂。快速幂的代码如下: i原创 2015-08-21 20:34:07 · 2554 阅读 · 1 评论