hdu 1757 A Simple Math Problem_矩阵快速幂
来源:互联网 发布:1.12魔兽世界数据库 编辑:程序博客网 时间:2024/05/29 12:09
题意:略
简单的矩阵快速幂就行了
#include <iostream>#include <cstdio>#include <cstring>using namespace std;#define LL long long #define N 10int m;struct node{int mat[N][N];node operator *(const node &x){node tmp;memset(tmp.mat,0,sizeof(tmp.mat));for(int i=0;i<N;i++)for(int j=0;j<N;j++)for(int k=0;k<N;k++){tmp.mat[i][j]+=(mat[i][k]*x.mat[k][j])%m;tmp.mat[i][j]%=m;}return tmp;}}cat,b;node _pow(int n){int i;memset(b.mat,0,sizeof(b.mat));for(i=0;i<N;i++)b.mat[i][i]=1;while(n){if(n&1)b=b*cat;cat=cat*cat;n>>=1;}return b;}int main(int argc, char** argv) {int sum,n;int i,j;while(scanf("%d%d",&n,&m)!=EOF){memset(cat.mat,0,sizeof(cat.mat));for(i=0;i<N-1;i++)cat.mat[i+1][i]=1;for(i=0;i<N;i++)scanf("%d",&cat.mat[0][i]);if(n<N){printf("%d\n",n%m);continue;}sum=0;cat=_pow(n-9);for(i=0;i<N;i++)sum+=cat.mat[0][i]*(9-i);printf("%d\n",sum%m);}return 0;}
- hdu 1757 A Simple Math Problem_矩阵快速幂
- hdu - 1757 - A Simple Math Problem(矩阵快速幂)
- hdu 1757 A Simple Math Problem(矩阵快速幂)
- hdu 1757 A Simple Math Problem (矩阵快速幂)
- [HDU 1757] A Simple Math Problem (矩阵快速幂)
- HDU 1757-A Simple Math Problem(矩阵快速幂)
- HDU 1757 A Simple Math Problem 矩阵快速幂
- hdu 1757 A Simple Math Problem(矩阵快速幂)
- HDU 1757 A Simple Math Problem (矩阵快速幂)
- HDU 1757 A Simple Math Problem(矩阵快速幂)
- hdu 1757 A Simple Math Problem(矩阵快速幂)
- HDU 1757 A Simple Math Problem(矩阵快速幂)
- HDU 1757 A Simple Math Problem 矩阵快速幂
- HDU 1757 A Simple Math Problem 矩阵快速幂
- HDU 1757 A Simple Math Problem(矩阵快速幂)
- HDU 1757 A Simple Math Problem 矩阵快速幂
- HDU 1757 A Simple Math Problem (矩阵+快速幂)
- HDU 1757-A Simple Math Problem(矩阵快速幂)
- LeetCode 解题报告索引
- java事物操作
- GraphChi专注小电脑的分布式框架
- android 中 ViewPager 的平常用法 ViewPager+ Views
- 计算机网络第四讲--网络设备
- hdu 1757 A Simple Math Problem_矩阵快速幂
- [python] 1+...+100
- Find Max Subarray
- B/S验证控件总结
- 大小写转换
- Some of the most commonly used libraries for application development
- Java特性关于反射的一些技术
- Orale行列转置(摘抄)
- 点滴记录笔记_持续更新