
矩阵连乘
ITCharge
高效率编程,慢节奏生活。
展开
-
POJ3233 Matrix Power Series【矩阵快速幂】
题目大意: 给定一个N*N的矩阵A和一个整数K,要求计算S = A + A^2 + A^3 + … + A^k。 思路: 分别用矩阵快速幂求出每一项的A^i,然后将每一项矩阵相加,考虑到k值很大,所有采用 二分求解。原创 2015-03-18 14:45:16 · 777 阅读 · 0 评论 -
矩阵快速幂【模板】
const int MAXN = 110; struct Matrax { int m[MAXN][MAXN]; }a,per; int N,M; void Init() { for(int i = 0; i < N; ++i) for(int j = 0; j < N; ++j) { scanf("%d",&a.m[i]原创 2015-04-16 15:07:45 · 749 阅读 · 0 评论 -
HDU4565 So Easy!【矩阵连乘】【推导】
题目大意: 定义Sn = [( a + √b )^n] % m,[x]表示x向上取整,比如[3.14] = 4。给你a b n m的值, 求Sn是多少。 思路: 这道题很经典,因为(a-1)^2< b < a^2,所以0 < |a-√(b)| < 1,所以 Sn = [( a + √b )^n] % m = ( [( a + √b )^n] + [( a - √b))^n] ) % m。 即右边其实是一个整数,如果将右边二项式展开的话,除了相互抵消的部分,剩下的部分全为 整数。这个式子设An = (a原创 2015-04-25 23:26:00 · 1052 阅读 · 0 评论