随笔分类 - 数学--矩阵
摘要:链接看此题前先看一下matrix67大神写的关于十个矩阵的题目中的一个,如下:经典题目8 给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p的值把给定的图转为邻接矩阵,即A(i,j)=1当且仅当存在一条边i->j。令C=A*A,那么C(i,j)=ΣA(i,k)*A(k,j...
阅读全文
摘要:链接表达式类似于斐波那契 但是多了一个变量 不能用快速幂来解 不过可以用线段树进行维护对于每一个点够一个2*2的矩阵1 a[i]1 0 这个矩阵应该不陌生 类似于构造斐波那契的那个数列 还是比较容易能想到的然后就用线段树进行维护 注意矩阵不满足交换律 在乘的时候要倒序。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 #define N 100010 12 #define...
阅读全文
摘要:好像目前还没有这方面题目的总结。这几天连续看到四个问这类题目的人,今天在这里简单写一下。这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质。不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色字符。在数学中,一个矩阵说穿了就是一个二维数组。一个n行m列的矩阵可以乘以一个m行p列的矩阵,得到的结果是一个n行p列的矩阵,其中的第i行第j列位置上的数等于前一个矩阵第i行上的m个数与后一个矩阵第j列上的m个数对应相乘后所有m个乘积的和。比如,下面的算式表示一个2行2列的矩阵乘以2行3列的矩阵,其结果是一个2行3列的矩阵。其中,结果的那个4等于2*2+0*1:下面的算式则是一个1 x 3的矩阵乘以3
阅读全文
摘要:链接构造矩阵 快速幂求解构造矩阵a[i]为每个cati所拥有的花生总数 这里多加一维用来求和,具体是怎么求得可以看下面的一组例子 假设有3个cat a[] = {1,0,0,0}构造单位矩阵来保存操作后的解 为什么要是单位矩阵?因为单位矩阵乘以任何矩阵还是原矩阵 这样在单位矩阵上改变要操作的那列(这里用列来表示i只猫的花生数)就能保留下来不被改变的猫的花生数对于g 1(1,0,0,0)*{1,1,0,0 0,1,0,0 0,0,1,0 0,0,0,1}这样得出结果(1,1,0,0} 也就是说对于g1 就让mat[0][i]+1就可以了 因为加了k 最后都会变成a[...
阅读全文
摘要:链接也是矩阵经典题目 二分递归求解a+a^2+a^3+..+a^(k/2)+a^(k/2+1)+...+a^k = a+a^2+..+a^k/2+a^k/2(a^1+a^2+..+a^k/2)(偶数)a+a^2+a^3+..+a^(k/2)+a^(k/2+1)+...+a^k = a+a^2+..+a^k/2+a^k/2(a^1+a^2+..+a^k/2)+a^k。奇数 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using names.
阅读全文
摘要:链接矩阵经典题目利用矩阵的快速幂取模 快速的求得解其实它题目已经给的很明显了 下面再描述一下过程f(n) 1 1 f(n)+f(n-1)f(n-1) 1 0 f(n)左边乘中间的变成右边的 然后可以看出右边的已经变成了 f(n+1) f(n) 那么乘上k次上面那个10矩阵 就得到了f(n+k) 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using namespace std;11 #define N 212 #define LL...
阅读全文
摘要:利用快速幂的思想 根据矩阵的结合律 可以递归二分求解 struct Mat{ int mat[N][N];};int n;Mat operator * (Mat a,Mat b){ Mat c; memset(c.mat,0,sizeof(c.mat)); int i,j,k; for(k =0 ; k >= 1) { if(k&1) c = c*a; a = a*a; } return c;}
阅读全文
摘要:矩阵快速幂的模板矩阵的知识太多了,这里贴出一部分常用的。 矩阵的加法运算满足交换律:A+B=B+A[4]。矩阵的转置和数乘运算对加法满足分配律:(A+B)TAT+BTc(A+B)cA+cB 矩阵加法和数乘两种运算使得成为一个mn维的实数线性空间。而转置和数乘运算满足类似于结合律的规律:c(AT)(cA)T.矩阵的乘法满足结合律和对矩阵加法的分配律(左分配律和右分配律):结合律: (AB)CA(BC),左分配律:(A + B)CAC+BC,右分配律:C(A + B)CA+CB.矩阵的乘法与数乘运算之间也满足类似结合律的规律;与转置之间则满足倒置的分配律。c(AB)(cA)BA(cB)(...
阅读全文

浙公网安备 33010602011771号