博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu-5015-233 Matrix-矩阵
阅读量:6270 次
发布时间:2019-06-22

本文共 1061 字,大约阅读时间需要 3 分钟。

非常显然矩阵的第一列为:

0

a[1]

a[2]

a[3]

a[4]

我们转化一下,转化为

23

a[1]

a[2]

a[3]

a[4]

3

那么由第一列转移到第二列则为

23*10+3

a[1]+23*10+3

a[2]+a[1]+23*10+3

a[3]+a[2]+a[1]+23*10+3

a[4]+a[3]+a[2]+a[1]+23*10+3

3

非常显然转移矩阵A就出来了:

10 0 0 0 0 1

10 1 0 0 0 1

10 1 1 0 0 1

10 1 1 1 0 1

10 1 1 1 1 1

 0  0 0 0 0 1

那么最后一列就是A的m次方*第一列。

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(linker, "/STACK:1024000000,1024000000")using namespace std;#define maxn 110000#define mod 10000007#define LL __int64struct matrix{ LL mat[15][15]; matrix() { memset(mat,0,sizeof(mat)); }};int a[11];int n;matrix mul(matrix A,matrix B){ matrix C; int i,j,k; for(i=1; i<=n+2; i++) { for(j=1; j<=n+2; j++) { for(k=1; k<=n+2; k++) { C.mat[i][j]=(C.mat[i][j]+A.mat[i][k]*B.mat[k][j])%mod; } } } return C;}matrix powmul(matrix A,int k){ matrix B; for(int i=1;i<=n+2;i++)B.mat[i][i]=1; while(k>=1) { if(k&1)B=mul(B,A); A=mul(A,A); k=k/2; } return B;}void print(matrix A){ cout<<"matrix A"<

转载地址:http://uoppa.baihongyu.com/

你可能感兴趣的文章
Splunk作为日志分析平台与Ossec进行联动
查看>>
yaffs文件系统
查看>>
Mysql存储过程
查看>>
NC营改增
查看>>
Lua
查看>>
Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录
查看>>
postgresql 获取刚刚插入的数据主键id
查看>>
C# Activex开发、打包、签名、发布 C# Activex开发、打包、签名、发布 [转]
查看>>
05-Vue入门系列之Vue实例详解与生命周期
查看>>
验证码展示
查看>>
浅谈大型web系统架构
查看>>
淘宝大秒系统设计详解
查看>>
linux如何修改登录用户密码
查看>>
Kali Linux 2017中Scapy运行bug解决
查看>>
Python监控进程性能数据并画图保存为PDF文档
查看>>
Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
查看>>
Mac OS 10.10.3下Apache + mod_wsgi配置【一】
查看>>
Hibernate基于注解的双向one-to-many映射关系的实现
查看>>
算法竞赛入门经典 例题 3-2 蛇形填数
查看>>
remove-duplicates-from-sorted-list I&II——去除链表中重复项
查看>>