
矩阵快速幂
围巾的ACM
啊啊什么时候也能成为一个大牛啊
展开
-
poj3070 Fibonacci(矩阵快速幂)
思路:矩阵快速幂的入门题 #include #include #include using namespace std; struct Mat { int a[2][2]; //矩阵大小 }; int n; const int mod = 10000; Mat mul(Mat a,Mat b) { Mat t; memset(t.a,0,sizeof(t.a)); for(i原创 2016-08-15 16:07:25 · 467 阅读 · 0 评论 -
POJ 3233 Matrix Power Series(矩阵快速幂)
思路:看k的范围显然不能直接遍历来加,留意到S有一个性质 当k为偶数的时候 Sk = A+A^2+....A^(K/2)+A^(K/2)*(A+A^2+....A^(k/2)) 当k为奇数的时候 Sk = A+A^2+....A^(K/2)+A^((K+1)/2) + A^((K+1)/2)*(A+A^2....A^(K/2))原创 2016-08-15 17:12:32 · 305 阅读 · 0 评论 -
HDU 1575 Tr A(矩阵快速幂)
思路:简单的矩阵快速幂 #include #include #include using namespace std; int n,mod; struct Mat { int a[31][31]; //矩阵大小 }; Mat mul(Mat a,Mat b) { Mat t; memset(t.a,0,sizeof(t.a)); for(int i = 0;i<n;i++)原创 2016-08-15 17:25:22 · 286 阅读 · 0 评论 -
HDU 1588 Gauss Fibonacci(矩阵快速幂)
思路:显然的有f(n)=A^n,那么把g(i)代入后有sum = A^b+A^(k+b)+A^(2k+b)+...A^((n-1)k+b) 提取A^b之后sum = A^b*(A^k^0+A^k^1+A^k^2+.....A^k^(n-1)),将A^k设为B的话那么就是一个简单的二分求和过程,注意最后要加上B^0 坑点:虽然最后结果不会爆long long,可是中途乘法过原创 2016-08-16 15:04:49 · 371 阅读 · 0 评论