摘要: 题意:就是说物种进化,有N种物种,编号是0——N-1,M次进化后,问你编号为N-1的物种有多少数量;其中要注意的就是i物种进化到j物种的概率是p;(那么剩下的不要忘了);所以单位矩阵初始化对角线的值为1, 然后根据题目进化的概率进行加减; 比如P(i, j) = 0.3,则: mat[i][j] + 阅读全文
posted @ 2018-02-11 18:26 Changer-qyz 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个有向图(最多25个节点,每个节点的出度最多为4),给定起点和终点,然后从起点开始走,走到终点就停止,否则一直往下走,问能不能P步到达终点。也就是说从起点出发,走一条长度为P的路径,路径中间点不能经过终点(但可以反复经过其他点)。如果从起点出发P步后,不能到达终点,就是False,如果可 阅读全文
posted @ 2018-02-11 17:58 Changer-qyz 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 构造矩阵。 1,当k<=9时,直接输出; 2,当k >9时,先求原矩阵的(k-9)次幂res矩阵,在求幂的过程中对m取余。最后res矩阵再与矩阵F相乘得到矩阵ans,相乘的过程中对m取余。ans矩阵的第一个元素就是答案。 PS.orz,这道题一气呵成。只不过我好像和大家构造矩阵的方向有点点差别。这不 阅读全文
posted @ 2018-02-11 17:52 Changer-qyz 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 此题如果直接利用递推关系,处理不好会超内存的。 首先找出递推关系式,先给出递推关系式:( L )=( L - 1 ) + ( L - 3 ) + ( L - 4 );可以先尝试推导一下,推不出来再看下面的解释。 PS.以前做过一个类似的递推关系的题。 考虑当L=n时的情况,有两种情况: ①.如果最后 阅读全文
posted @ 2018-02-11 17:48 Changer-qyz 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目要求的是 A+A2+...+Ak,而不是单个矩阵的幂。 那么可以构造一个分块的辅助矩阵 S,其中 A 为原矩阵,E 为单位矩阵,O 为0矩阵 将 S 取幂,会发现一个特性: Sk +1右上角那一块不正是我们要求的 A+A2+...+Ak 于是构造出 S 矩阵,然后对它求矩阵快速幂即可,最后别忘了 阅读全文
posted @ 2018-02-11 17:43 Changer-qyz 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 简单的矩阵快速幂。最后求矩阵的秩。 阅读全文
posted @ 2018-02-11 17:38 Changer-qyz 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 矩阵快速幂基本应用。 对于矩阵乘法与递推式之间的关系: 如:在斐波那契数列之中 f[i] = 1*f[i-1]+1*f[i-2] f[i-1] = 1*f[i-1] + 0*f[i-2]。即 所以, 就这两幅图完美诠释了斐波那契数列如何用矩阵来实现。 阅读全文
posted @ 2018-02-11 17:35 Changer-qyz 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 一、基础知识 1.矩阵乘法 设A为的矩阵,B为的矩阵,那么称 的矩阵C为矩阵A与B的乘积,记作 ,其中矩阵C中的第 行第 列元素可以表示为: 1 typedef long long ll; 2 const int Mod=10000; 3 struct mat{ 4 ll a[2][2]; 5 }; 阅读全文
posted @ 2018-02-11 17:31 Changer-qyz 阅读(138) 评论(0) 推荐(0) 编辑