矩阵快速幂的应用,时间复杂度n3logn
假设sk=I+A+…+AK-1那么就有,sk=Ak-1+sk-1由这个表达我们就得到了通项公式。
矩阵套矩阵便可以做出来。
记录一下模板。
wa来源于开的是2*n的矩阵,但是i,j都是1~n相乘。

#include<iostream>
#include<string>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<climits>
#include<stack>
#include<vector>
#include<queue>
#include<set>
#include<map>
#include<cstdio>
#define up(i,a,b)  for(int i=a;i<b;i++)
#define dw(i,a,b)  for(int i=a;i>b;i--)
#define upd(i,a,b) for(int i=a;i<=b;i++)
#define dwd(i,a,b) for(int i=a;i>=b;i--)
//#define local
typedef long long ll;
const double esp = 1e-6;
const double pi = acos(-1.0);
const long long INF = 0x3f3f3f3f;
using namespace std;
typedef pair<int, int> pir;
int n, k, m;
struct mat {int  a[70][70];
};
mat mat_mul(mat x, mat y)
{mat res;memset(res.a, 0, sizeof(res.a));up(i, 0, 2*n){up(j, 0, 2*n){up(k, 0, 2*n){res.a[i][j] = (res.a[i][j] + x.a[i][k] * y.a[k][j])%m;}/*cout << res.a[i][j];if (j+1 != 2*n)cout << " ";else cout << endl;*/}}return res;
}
mat mat_pow(mat x, int i)
{mat res;memset(res.a, 0, sizeof(res.a));up(j, 0, 2*n)res.a[j][j] = 1;while (i > 0){if (i & 1)res = mat_mul(res, x);x = mat_mul(x, x);i >>= 1;}return res;
}
void solve(mat model)
{mat c;mat res;memset(c.a, 0, sizeof(c.a));up(i, 0, n){up(j, 0, n)c.a[i][j] = model.a[i][j];c.a[n + i][i] = 1;c.a[n + i][n + i] = 1;}res = mat_pow(c, k+1);int a;up(i, 0, n){up(j, 0, n){a = res.a[n + i][j];if (i == j)a = (a + m - 1) % m;printf("%d%c", a, (j == n - 1) ? '\n' : ' ');}}
}
int main()
{cin >> n >> k >> m;mat model;up(i, 0, n){up(j,0,n)scanf("%d", &model.a[i][j]);}solve(model);return 0;
}

矩阵和POJ 3233相关推荐

  1. I-Matrix Power Series POJ - 3233 矩阵快速幂+分治

    I-Matrix Power Series POJ - 3233 矩阵快速幂+分治 Problem Description Given a n × n matrix A and a positive ...

  2. 矩阵儿快速幂 - POJ 3233 矩阵力量系列

    不要管上面的标题的bug 那是幂的意思,不是力量... POJ 3233 Matrix Power Series 描述 Given a n × n matrix A and a positive in ...

  3. 【矩阵乘法】Matrix Power Series(poj 3233)

    Matrix Power Series poj 3233 题目大意 给你一个矩阵A,让你求S=A+A2+A3+-+AkS = A + A^2 + A^3 + - + A^kS=A+A2+A3+-+Ak ...

  4. poj 3233 矩阵乘法(分块矩阵)

    POJ 3233 题解:Sn为所求矩阵, 则 这样, 此题就变成了求矩阵幂和矩阵乘法, 分块矩阵乘法和普通矩阵一样的. code: /* adrui's submission Language : C ...

  5. POJ 3233 Matrix Power Series (矩阵分块,递推)

    矩阵乘法是可以分块的,而且幂的和也是具有线性的. 不难得到 Si = Si-1+A*Ai-1,Ai = A*Ai-1.然后矩阵快速幂就可以了. /*************************** ...

  6. POJ 3233 Matrix Power Series 矩阵快速幂 + 二分

    题意:求矩阵的次方和 解题思路:最容易想到方法就是两次二分因为 我们可以把一段  A^1 + A^2 + .......A^K   变成  A^1 + ..A^(K/2) +( A^1 + ..A^( ...

  7. POJ 3233 Matrix Power Serie (矩阵快速幂)

    Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + - + Ak. ...

  8. POJ 3233 矩阵快速幂 等比数列

    //http://www.cnblogs.com/jiangjing/archive/2013/05/28/3103336.html/* 分析:求a^1+..a^n这是矩阵乘法中关于等比矩阵的求法:| ...

  9. poj 3233 Matrix Power Series

    最近一直在做矩阵的题目,这算是一道简单题目吧. 建立一个矩阵的结构体,便于赋值和返回值. S = A + A2 + A3 + - + Ak 如果 S=A+A2 + A3 +A4   S= (A + A ...

  10. poj 3233 Matrix Power Series

    Matrix Power Series 思路 题意比较简单,就是要求S(n)=∑i=1nAiS(n) = \sum _{i = 1} ^{n} A^ {i}S(n)=∑i=1n​Ai,显然有S(n)= ...

最新文章

  1. python 乒乓球_python乒乓球
  2. 如何设计一个牛逼的本地缓存!
  3. 南洋理工75页最新「深度学习对话系统」大综述论文,最全面概述深度学习对话技术进展...
  4. python编码转换语句_好程序员Python教程之字符串编码知识小结
  5. mysql 提高事物效率_怎么提高向mysql中插入数据的效率-问答-阿里云开发者社区-阿里云...
  6. c++中 结构体和类的区别
  7. 美国Palmbeach大学服务器整合改造案例
  8. 使用 ramda 解析 .yarnrc/.npmrc 配置文件的例子
  9. tornado和subprocess实现程序的非堵塞异步处理
  10. Cache【硬盘缓存工具类(包含内存缓存LruCache和磁盘缓存DiskLruCache)】
  11. 佳能ts9020墨盒不识别_佳能打印机哪一款性价比高 佳能打印机型号推荐【详解】...
  12. qpython能使用json吗l_现在还能使用土墙吗?
  13. 计算机网络太难了?了解这一篇就够了
  14. matlab纹理分析,基于MATLAB的遥感影像纹理特征分析
  15. 什么是无刷直流电机?
  16. 锁定计算机快捷键6,6个快捷键,轻松玩转你的电脑(收藏)
  17. NISP-SO安全运维工程师需要掌握的核心能力
  18. LDV7 语音识别模块使用方法
  19. 特征工程常用于特征提取方法——数值特征
  20. BLAST Database error: No alias or index file found for protein database

热门文章

  1. 年薪百万的市场人都在读哪些书?
  2. 表白公式计算机,【理工男表白公式大全】_理工男写“公式体”情书表白图
  3. iphone11系列的尺寸_iPhone 11、11 Pro、11 Pro Max vs iPhone XR、XS、XsMax比较
  4. python实现坐标求取_根据相机位姿求指定点的世界坐标及其python实现
  5. PPL文档——Excel制作的甘特图加上动态今日线
  6. 关于Coolie编码
  7. WIN7系统下如何设置护眼设置
  8. 华中科技大学计算机学院陈迪,华中科技大学2011届“优秀毕业生”公示名单
  9. [bzoj5369][状压DP]最大前缀和
  10. 跨考计算机 专硕还是学硕,考研我该如何抉择!专硕学硕不纠结