hdu 5015 233 Matrix
2015-10-07 20:07
176 查看
题目:题目中给出a(0,1),a(0,2)....a(0,m)和a(1,0),a(2,0)...a(n,0),a(n,m) = a(n-1,m) + a(n,m-1)
矩阵快速幂 初始的为{233,a(1,0),a(2,0)...a(n,0),3},然后a(i,j) = a(i,j-1)+a(i-1,j),a(i-1,j)可以就是上一个(a(i-1,j))算出来的结果,a(i,j-1)就是当前项,就可以递推了。。
代码:
矩阵快速幂 初始的为{233,a(1,0),a(2,0)...a(n,0),3},然后a(i,j) = a(i,j-1)+a(i-1,j),a(i-1,j)可以就是上一个(a(i-1,j))算出来的结果,a(i,j-1)就是当前项,就可以递推了。。
代码:
#include <cstdio> #include <iostream> #include <cstdlib> #include <ctime> #include <cstring> using namespace std; #define ll long long const int N = 12; const ll mod = 10000007; struct Matrix{ ll a ; Matrix(){ memset(a,0,sizeof(a)); for(int i = 0;i < N;i ++) a[i][i] = 1; } }; Matrix multiply(Matrix a,Matrix b,int n){ Matrix ans; memset(ans.a,0,sizeof(ans.a)); for(int i = 0;i < n;i ++){ for(int j = 0;j < n;j ++){ for(int k = 0;k < n;k ++){ ans.a[i][k] = (ans.a[i][k] + a.a[i][j]*b.a[j][k]%mod)%mod; } } } return ans; } Matrix fast_mod(Matrix A,ll k,int n){ Matrix ans; while(k){ if(k&1)ans = multiply(ans,A,n); A = multiply(A,A,n); k = k>>1; } return ans; } int main(){ int n,m; while(~scanf("%d%d",&n,&m)){ ll now[12] = {0}; for(int i = 1;i <= n;i ++) scanf("%I64d",&now[i]); now[0] = 233; now[n+1] = 3; Matrix ans; memset(ans.a,0,sizeof(ans.a)); ans.a[0][0] = 10,ans.a[0][n+1] = 1; for(int i = 1;i <= n;i ++){ int siz = i+1; for(int j = 0;j < siz;j ++){ ans.a[i][j] = 1; } } ans.a[n+1][n+1] = 1; ans = fast_mod(ans,m,n+2); ll aa = 0; for(int i = 0;i < n+2;i ++){ aa = (aa + ans.a [i]*now[i]%mod)%mod; } cout<<aa<<endl; } return 0; }
相关文章推荐
- Android4.2之Camera系统HAL调用流程
- 图像放缩中最近邻插值和双线性插值的基本原理
- keepalived + mysql主从
- 课堂2
- 【转】HTML5 基础知识,第 4 部分: 最后的完善
- 【Machine Learning in Action --4】朴素贝叶斯电子邮件垃圾过滤
- NOIP2013 货车运输
- 关于ASP.NET MVC的Html.BeginForm()方法
- SpriteBuilder给节点添加effect在32设备上发生crash
- POJ 2286 搜索 (IDA*)
- SpriteBuilder给节点添加effect在32设备上发生crash
- SpriteBuilder给节点添加effect在32设备上发生crash
- c 语言获得文件大小
- 递归算法
- 1024. 科学计数法 (20)
- opencv在debug模式下无法读入图像的问题
- 利用扫描仪Scanner进行数据输入
- [置顶] iOS之模仿新浪微博项目经验总结
- NSURLConnection的文件或者图片下载
- Unity Shader 表面着色器边缘光(Rim Lighting)一