Light oj 1132 - Summing up Powers
来源:互联网 发布:如何连接网络投影仪 编辑:程序博客网 时间:2024/05/04 12:05
题目:Light oj 1132 - Summing up Powers
题意:求这个式子
思路:构造矩阵。。。。。
#include <cstdio>#include <iostream>#include <algorithm>#include <cmath>#include <cstring>using namespace std;const long long mod = ((long long)1<<32);struct Matrix{ long long m[55][55];}E,D;long long n,k;long long fac[51][51];void init(){ for(int i=1;i<=54;i++) for(int j=1;j<=54;j++) E.m[i][j]=(i==j); for(int i=0;i<=50;i++) { fac[i][0]=1; fac[i][i]=1; fac[i][1]=i; } for(int i=2;i<=50;i++) for(int j=1;j<=i;j++) fac[i][j]=(fac[i-1][j]+fac[i-1][j-1])%mod;}long long Pow(long long a,long long b){ long long ans=1; while(b) { if(b&1) { b--; ans=(ans*a)%mod; } else { b/=2; a*=a; a%=mod; } } return ans;}void make(){ for(int i=1;i<=k+2;i++) for(int j=1;j<=k+2;j++) D.m[i][j]=0; D.m[1][1]=1; for(int i=2;i<=k+2;i++) D.m[1][i]=fac[k][i-2]; for(int i=2;i<=k+2;i++) { for(int j=i;j<=k+2;j++) D.m[i][j]=fac[k+2-i][j-i]; }}Matrix Multi(Matrix A,Matrix B,int M,int N,int K){ Matrix ans; for(int i=1;i<=M;i++) for(int j=1;j<=K;j++) { ans.m[i][j]=0; for(int k=1;k<=N;k++) ans.m[i][j]=(ans.m[i][j]+A.m[i][k]*B.m[k][j])%mod; } return ans;}Matrix Pow(Matrix A,long long e){ Matrix ans=E; while(e) { if(e&1) { e--; ans=Multi(ans,A,k+2,k+2,k+2); } else { e/=2; A=Multi(A,A,k+2,k+2,k+2); } } return ans;}int main(){ init(); int t; scanf("%d",&t); for(int cases=1;cases<=t;cases++) { scanf("%lld%lld",&n,&k); make(); printf("Case %d: ",cases); Matrix tmp; for(int i=1;i<=k+2;i++) tmp.m[i][1]=1; Matrix cnt=Pow(D,n-1); Matrix ans=Multi(cnt,tmp,k+2,k+2,1); printf("%lld\n",ans.m[1][1]%mod); } return 0;}
- Light oj 1132 - Summing up Powers
- light oj 1132 Summing up Powers
- Light OJ 1132 Summing up Powers 矩阵快速幂
- Light oj 1132 Summing up Powers (矩阵快速幂)
- LightOJ - 1132 Summing up Powers
- Summing up Powers LightOJ
- LinghtOJ1132 Summing up Powers
- Summing up Powers LightOJ
- LightOJ - 1132 Summing up Powers 矩阵快速幂
- LightOJ 1132 - Summing up Powers 矩阵快速幂+排列组合
- [矩阵快速幂] LightOJ 1132 - Summing up Powers
- Lightoj 1132 Summing up Powers(矩阵快速幂)
- 矩阵快速幂lightoj1132 - Summing up Powers
- LightOJ 1132 Summing up Powers(矩阵快速幂+二项式定理)
- [矩阵快速幂] LightOJ 1142 - Summing up Powers (II)
- LightOJ1132---Summing up Powers (矩阵快速幂+二项式定理(简单推理))
- light oj
- light oj
- [AS3]flash通过ExternalInterface.call方法来获取当前URL地址
- C# 字符串全角 半角转换
- hdu 1267 下沙的沙子有几粒?
- CSS3相关效果整理
- RSA算法的一种实现方式!
- Light oj 1132 - Summing up Powers
- lr参数化——500户并发迭代1次 循环取5条数据
- Android 四种launchMode及疑问
- 模块
- ORA-23421: job number 25 is not a job in the job queue
- LR中错误代号为27796的一个解决方法
- Flex端调rtx接口实现自动登录
- NYOJ 150 Train Problem I STL栈
- 在PowerDesigner中设计物理模型