题意就是

现在有一个矩阵a,矩阵的第一行和第一列(出了a[0][0]) 给你, 让你求a[n][m]

第一行是 a[0][1] = 233 , a[0][2] = 2333 , a[0][i] = a[0][i-1] * 10 + 3

a[i][j] = a[i-1][j] + a[i][j-1]

看题目:应该是矩阵快速幂了

举个例子:

输入:

3 1

23 47 16

我们手推一下a[3][1]

那a[1][2] =  2333 + 23 + 233

所以我们初始矩阵是一个 (1)列(n +2)行的矩阵

当n是3的时候 初始矩阵为

然后用来快速幂的矩阵为

n为3的时候 m=1的时候

然后就是愉快的撸代码了

//
//  HDU5015 - 233Matrix.cpp
//  数论
//
//  Created by Terry on 2018/10/1.
//  Copyright © 2018年 Terry. All rights reserved.
//#include <stdio.h>
typedef long long LL;
long long read(){long long x = 0, f = 1;char ch=getchar();while(ch < '0' || ch > '9'){if(ch=='-') f = -1; ch = getchar();}while(ch >= '0' && ch <= '9'){x = x * 10 + ch - '0'; ch = getchar();}return x * f;
}
const int maxn = 12;
const long long mod = 10000007;
struct Matrix{long long m[maxn][maxn];
}unit;
long long int N, M;
Matrix operator * (Matrix a, Matrix b){Matrix ret;LL x;long long int n = N + 2;  // [0  -  N+1][0  -  N+1]for(int i = 0; i < n; ++i){for(int j = 0; j < n; ++j){x = 0;for(int k = 0; k < n; ++k){x += ((LL)a.m[i][k] * b.m[k][j]) % mod;}ret.m[i][j] = (x) % mod;}}return ret;
}
void init_unit(){// 单位矩阵for(int i = 0; i < maxn; ++i){unit.m[i][i] = 1;}
}
Matrix pow_mat(Matrix a, LL n){Matrix ans = unit;while (n) {if(n & 1){ans = ans * a;}a = a * a;n >>= 1;}return ans;
}
int main(){init_unit();while (scanf("%lld%lld", &N, &M) != EOF) {Matrix ans, a;ans.m[0][0] = 23;for(int i = 1; i <= N; ++i){ans.m[0][i] = read();}ans.m[0][N + 1] = 3;// 构造快速幂用的矩阵long long int x = N + 1;for(int i = 0; i <= x; i++){for(int j = 0; j <= x; j++){a.m[i][j] = 0;}}for(int i = 0; i < x; i++){a.m[0][i] = 10;a.m[x][i] = 1;}a.m[x][x] = 1;for(int i = 1; i < x; i++){for(int j = 1; j <= i; j++){//printf("%d %d\n", j, i);a.m[j][i] = 1;}}// 求a[n][m]a = pow_mat(a, M);ans = ans * a;printf("%lld\n", ans.m[0][N] % mod);}return 0;
}

HDU 5015 233 Matrix 矩阵快速幂相关推荐

  1. HDU - 5015 233 Matrix(矩阵快速幂)

    题目链接:点击查看 题目大意:初始化:第一行依次为233,2333,23333....第一列依次为a0,a1,a2....(题目中会给出),再给出递推公式:,求矩阵中第n行m列的数字是多少 题目分析: ...

  2. HDU 5015——233 Matrix

    题目:HDU 5015 233 Matrix 题目大意:给出矩阵的第0行(233,2333,23333,-)和第0列a1,a2,- an(n<=10,m<=10^9),给出式子: A[i] ...

  3. Recursive sequence HDU - 5950 (递推 矩阵快速幂优化)

    题目链接 F[1] = a, F[2] = b, F[i] = 2 * F[i-2] + F[i-1] + i ^ 4, (i >= 3) 现在要求F[N] 类似于斐波那契数列的递推式子吧, 但 ...

  4. HDU 2256Problem of Precision(矩阵快速幂)

    题意 求$(\sqrt{2} + \sqrt{3})^{2n} \pmod {1024}$ $n \leqslant 10^9$ Sol 看到题解的第一感受:这玩意儿也能矩阵快速幂??? 是的,它能q ...

  5. hdu 2842 Chinese Rings 矩阵快速幂

    分析: 后面的环能不能取下来与前面的环有关,前面的环不被后面的环所影响.所以先取最后面的环 设状态F(n)表示n个环全部取下来的最少步数 先取第n个环,就得使1~n-2个环属于被取下来的状态,第n-1 ...

  6. HDU - 4990 Reading comprehension(矩阵快速幂,水题)

    题目链接:点击查看 题目大意:给出一段程序,进行优化后提交 题目分析:其实就是找规律,大水题一个,偶尔也是需要做做水题找找自信(逃) 先将题目中的程序拿下来,跑上100项,然后拿到oeis里找一下规律 ...

  7. HDU (1575)Tr A ---矩阵快速幂

    Tr A Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973. Input 数据的第一行是一个T,表示有T组数据. 每 ...

  8. 考研路茫茫――单词情结 HDU - 2243(ac自动机 + 矩阵快速幂)

    考研路茫茫--单词情结 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  9. 【矩阵快速幂】233 Matrix HDU - 5015

    Think: 1知识点:矩阵快速幂 2题意:定义一个233矩阵,第一行形如233, 23333, 233333, 233-(即a[0][1] = 233, a[0][2] = 2333,a[0][3] ...

  10. 【HDU - 4990】 Reading comprehension (构造+矩阵快速幂)

    题干: Read the program below carefully then answer the question.  #pragma comment(linker, "/STACK ...

最新文章

  1. 微信公众号为指定openid用户推送消息
  2. 浅谈GCC预编译头技术
  3. 配置VMware ESXi 5事件发送到SYSLOG服务器
  4. Linux系统运维工程师PDF文档精选
  5. .net core i上 K8S(二)运行简单.netcore程序
  6. 编程之美-最短摘要的生成方法整理
  7. Metasploit渗透某高校域服务器
  8. 程序自删除方法大总结
  9. android write file,Android Study Day 3 --Android File Read And Write
  10. log4j使用方法--视频地址: http://www.letv.com/ptv/pplay/11475
  11. eight_queens
  12. android播放器录制视频,Android播放器的录制实践
  13. matlab如何求空间一点到直线距离,空间点到直线距离怎么求
  14. 2021年人口普查结果分析
  15. keil5实现51单片机和stm32同时编辑
  16. Windbg命令学习1(vertarget和lm和lmvm)
  17. android m4a播放器,如何在android上解码m4a音频
  18. [iOS]分享文件到QQ好友或微信好友
  19. 报错:<generator object <genexpr> at 0x7fa9adc46eb0>
  20. 如何发表高质量的学术论文(硕士、博士均有参考价值)

热门文章

  1. 简易的文件上传 tp5
  2. npm创建react项目
  3. python核心编程-第三章-个人笔记
  4. 使用.net开发手机管理软件 (九) 短信部分——PDU简介及其格式
  5. memcache的资料集
  6. 课堂作业04 2017.10.27
  7. selenium+webdriver+java(基本小例子及初始化三种浏览器)---------------
  8. 数据库,规则库和知识库的比较
  9. osx mount nfs/smb
  10. PHP Filter 简介