LightOJ-1132-矩阵快速幂,math
来源:互联网 发布:获取json对象的key 编辑:程序博客网 时间:2024/06/01 07:16
题目大意:给定n,k;求(1K + 2K + 3K + ... + NK) % 232
题目解析:由[i^0,i^1,i^2,-----i^k]推出[(i+1)^0-----(i+1)^k],要用组合数公式,所以构造矩阵就是组合数了,还要开个空间保存前面的sum即可;
AC代码:
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<string> #define ll unsigned int #define LL long longusing namespace std; int mod; int size; struct mat { ll a[55][55]; mat() { memset(a,0,sizeof(a)); } }; mat multi(mat m1,mat m2) { int i,j,k; mat ans=mat(); for(i=1;i<=size;i++) for(j=1;j<=size;j++) if(m1.a[i][j]) for(k=1;k<=size;k++) ans.a[i][k]=(ans.a[i][k]+m1.a[i][j]*m2.a[j][k]); return ans; } mat fun(mat m,LL n) { mat ans=mat(); int i; for(i=1;i<=size;i++)ans.a[i][i]=1; while(n) { if(n&1)ans=multi(m,ans); m=multi(m,m); n>>=1; } return ans; } int main() { int cas,c,i,a,b,cc,k,j; LL n; scanf("%d",&cas); for(cc=1;cc<=cas;cc++) { scanf("%lld%d",&n,&k); size=k+2; mat chu=mat(),gouzao=mat(); for(i=1;i<=k+1;i++)chu.a[1][i]=1; printf("Case %d: ",cc); for(j=1;j<=k+1;j++) { for(i=1;i<=j;i++){if(i==1||i==j)gouzao.a[i][j]=1;else {gouzao.a[i][j]=gouzao.a[i-1][j-1]+gouzao.a[i][j-1];}} } gouzao.a[k+1][k+2]=1; gouzao.a[k+2][k+2]=1; printf("%u\n",multi(chu,fun(gouzao,n)).a[1][k+2]); } return 0; }
0 0
- LightOJ-1132-矩阵快速幂,math
- lightOj 1132(矩阵快速幂)
- LightOj 1332 矩阵快速幂
- lightoj 1006 矩阵快速幂
- LightOj 1006(矩阵快速幂)
- lightoj 1052 矩阵快速幂
- LightOJ-1052-矩阵快速幂
- LightOJ - 1132 Summing up Powers 矩阵快速幂
- LightOJ 1132 - Summing up Powers 矩阵快速幂+排列组合
- [矩阵快速幂] LightOJ 1132 - Summing up Powers
- Lightoj 1132 Summing up Powers(矩阵快速幂)
- LightOJ 1070 - Algebraic Problem 矩阵快速幂
- A simple math problem 【矩阵快速幂】
- A Simple Math Problem (矩阵快速幂、构造矩阵)
- LightOJ 1132 Summing up Powers(矩阵快速幂+二项式定理)
- LightOJ 1070 Algebraic Problem (推导+矩阵快速幂)
- LightOj 1268 Unlucky Strings (KMP+矩阵快速幂)
- LightOJ 1065 Number Sequence(矩阵快速幂)
- NOIP2016 秀逗记&口胡题解
- Android TextView 字体颜色分段显示
- 聊聊Android优秀的图片加载缓存的开源框架?UIL、Glide、Picasso
- ubuntu/linux 下Java环境变量配置
- 利用sublime text3 + OmniMarkupPreviewer + CSS 搭建的文档编辑工具
- LightOJ-1132-矩阵快速幂,math
- IOS app 本地测试
- 关于js中小问题与一些简单函数的用法
- Java入门之编码GBK映射问题
- TextView和EidtText使用技巧
- android 摘要----数据存储全方案,详解持久化技术
- php.ini的详解
- Sprint规划会议二
- 学生成绩管理系统链表实现