(I+A^(N/2))*(A+A^2+...+A^(N/2)) 如果n为奇数,则可以拆成一个矩阵A^n和n为偶数的另一串式子。 于是就可以分治了,1700ms莫名慌 学到了如何memset结构体里的数组,还是有收获的。 代码如下: #include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>usingnamespaces...
Matrix Power Series POJ - 3233 矩阵快速幂+分治 一、内容 二、思路 我们规定f(A, k) 这个函数为求A + A2+ A3… Ak的值 当k为偶数时: S = A + A2+ A3… Ak= (A + A1…Ak/2) + (Ak/2+1+…Ak) = (A + A1…Ak/2) +Ak/2(A + A1…Ak/2) =(1 + Ak/2) * (A + A1…Ak/...
注意到kk值很大,直接做矩阵乘法会超时,类似于二分快速幂算法,我们可以先求出s[k/2],Ak/2s[k/2],Ak/2,然后有下面递推式: s[k]={Ak/2∗s[k/2]+s[k/2]ifkmod2=0Ak/2∗s[k/2]+s[k/2]+Akifkmod2≠0$$(1)(1)s[k]={Ak/2∗s[k/2]+s[k/2]ifkmod2=0Ak/2∗s[k/2]+s...
poj 3233 Matrix Power Series Matrix Power Series Time Limit: 3000MS Memory Limit: 131072K Total Submissions: 22502 Accepted: 9434 Description Given a n × n matrix A...[POJ3233]Matrix Power Series 分治+矩阵 本文为博主原创文章,欢迎转载,请注明出处 www.cnblogs.com/yangyaojia [POJ3233]Matrix...
Matrix Power Series POJ - 3233 矩阵快速幂+分治 一、内容 二、思路 我们规定f(A, k) 这个函数为求A + A2+ A3… Ak的值 当k为偶数时: S = A + A2+ A3… Ak= (A + A1…Ak/2) + (Ak/2+1+…Ak) = (A + A1…Ak/2) +Ak/2(A + A1…Ak/2) =(1 + Ak/2) * (A + A1…Ak...