【poj3233】 Matrix Power Series】的更多相关文章

http://poj.org/problem?id=3233 (题目链接) 题意 给出一个n×n的矩阵A,求模m下A+A2+A3+…+Ak 的值 Solution 今日考试就A了这一道题.. 当k为偶数时,原式=(Ak2+1)×(A1+A2+...+Ak2). 当k为奇数的时候将Ak乘上当前答案后抠出去,最后统计答案时再加上.所以我们就一路快速幂搞过去,AC 代码 // poj3233 #include<algorithm> #include<iostream> #include&…
[题目链接] 点击打开链接 [算法] 要求 A^1 + A^2 + A^3 + ... + A^k 考虑通过二分来计算这个式子 : 令f(k) = A^1 + A^2 + A ^ 3 + ... + A^k 那么,当k为奇数时,f(k) = f(k-1) + A ^ k 当k为偶数时,f(k) = f(n/2) + A ^ (n/2) * f(n/2) 因此,可以通过二分 + 矩阵乘法快速幂的方式,在O(n^3log(n)^2)的时间内解决此题 [代码] #include <algorithm>…
解题思路 题目里要求\(\sum_{i=1}^kA^i\),我们不妨再加上一个单位矩阵,求\(\sum_{i=0}^kA^i\).然后我们发现这个式子可以写成这样的形式:\(A(A(A...)+E)+E)+E\)于是,我们可以将\(*A+E\)看做一次变换,然后尝试构造一个矩阵.我们发现: \[ (\left[ \begin{matrix} A & E \\ 0 & E \end{matrix} \right])^n= \left[ \begin{matrix} A^{n+1} &…
对n<=30(其实可以100)大小的矩阵A求A^1+A^2+……+A^K,K<=1e9,A中的数%m. 从K的二进制位入手.K分解二进制,比如10110,令F[i]=A^1+A^2+……+A^(2^i),那么答案就是F[10000]*A^110+F[100]*A^10+F[10]+A^0.也就是说如果知道F就可以得答案. F亦可递推,F[i]=F[i-1]*(A^(2^i-1)+A^0).完美!什么log方,都是假的! #include<stdio.h> #include<s…
Matrix Power Series [题目链接]Matrix Power Series [题目类型]二分等比求和 &题解: 这题我原来用vector写的,总是超时,不知道为什么,之后就改用数组了,照着别人的代码敲了一遍 [时间复杂度]O(logn) &代码: #include <cstdio> #include <bitset> #include <iostream> #include <set> #include <cmath&g…
矩阵的又一个新使用方法,构造矩阵进行高速幂. 比方拿 nyoj299 Matrix Power Series 来说 给出这样一个递推式: S = A + A2 + A3 + - + Ak. 让你求s.A是一个矩阵,而k很大. 怎么办呢? 推理发现:Fn = A + A*F(n-1) 然后我们能够构造矩阵: (Fn .1 ) =  (Fn-1 ,1) * (A.0. A,1) = (F1 , 1) * (A,0. A,1)^K-1 那么我们就能够用一个矩阵高速幂了. 以下是模板题目的代码: #in…
任意门:http://poj.org/problem?id=3233 Matrix Power Series Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 28619   Accepted: 11646 Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak. Input The…
poj 1575  Tr A 主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1575 题目大意:A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973. 数据的第一行是一个T,表示有T组数据. 每组数据的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)两个数据.接下来有n行,每行有n个数据,每一个数据的范围是[0,9].表示方阵A的内容. 一个矩阵高速幂的裸题. 题解: #…
本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [POJ3233]Matrix Power Series 分治+矩阵 题目大意 A为n×n(n<=30)的矩阵,让你求 \(\sum\limits_{i=1}^{k}A^i\) 并将答案对取模p 输入格式: 有多组测试数据,其中第一行有3个正整数,为n,k(k<=\(10^9\)),p(p<=\(10^4\)) 后面有n行,每行n个数. 输出格式: 输出最后答案的矩阵. 输入输出样例 inpu…
Matrix Power Series Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 27277   Accepted: 11143 Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak. Input The input contains exactly one test ca…