纪念SlingShot 矩阵
第一次独立做矩阵,只WA了一次,好高兴~~
题意:已知 F(n)=3 * F(n-1)+2 * F(n-2)+7 * F(n-3),n>=3,其中F(0)=1,F(1)=3,F(2)=5,对于给定的每个n,输出F(0)+ F(1)+ …… + F(n) mod 2009。
S(n) = F(0)+F(1)+...+F(n),
S(n) = S(n-1)+F(n);
S(n) = S(n-1)+3*F(n-1)+2*F(n-2)+7*F(n-3).
由上面的式子可以得出矩阵
|1,0,0,0|n-2
|3,3,1,0|
{S(n),F(n),F(n-1),F(n-2)} |2,2,0,1| = {S(2),F(2),F(1),F(0)}
|7,7,0,0|
得出矩阵就好办了~~
#include<stdio.h> #include<string.h>struct mat{int f[4][4];mat(){for(int i=0;i<4;i++)for(int j=0;j<4;j++)f[i][j]=0;} }; const int mod = 2009;mat mul(mat a,mat b) {mat ret;for(int i=0;i<4;i++)for(int j=0;j<4;j++)for(int k=0;k<4;k++)ret.f[i][j]=(ret.f[i][j]+a.f[i][k]*b.f[k][j])%mod;return ret; } mat mat_Pow(mat a,int n) {mat e;e.f[0][0]=e.f[1][1]=e.f[2][2]=e.f[3][3]=1;while(n){if(n&1) e=mul(e,a);a=mul(a,a);n>>=1;}return e; }int b[3]={1,4,9}; int main() {int m,T,cas=1;scanf("%d",&T);while(T--){scanf("%d",&m);if(m<=2){printf("Case %d: %d\n",cas++,b[m]);continue;}mat res;res.f[0][0]=1;res.f[0][1]=3;res.f[0][2]=2;res.f[0][3]=7;res.f[1][1]=3;res.f[1][2]=2;res.f[1][3]=7;res.f[2][1]=1;res.f[3][2]=1;mat ans = mat_Pow(res,m-2);int aans = (ans.f[0][0]*9+ans.f[0][1]*5+ans.f[0][2]*3+ans.f[0][3])%mod;printf("Case %d: %d\n",cas++,aans);}return 0; }
转载于:https://www.cnblogs.com/yongren1zu/p/3343654.html
纪念SlingShot 矩阵相关推荐
- 纪念SlingShot 矩阵快速幂 构造矩阵
纪念SlingShot Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- fzu 1683 纪念SlingShot 矩阵
题意: 对于给出的递推关系,求前n项和 思路: 数据大,有规律.矩阵快速幂吧.然而为啥这题long long 就TLE.智障题. 构造: Sn=Sn-1+F(n)= Sn-1 +3F(n-1)+2F( ...
- FZU 1683 纪念SlingShot (简单的矩阵快速幂)
纪念SlingShot Description 已知 F(n)=3 * F(n-1)+2 * F(n-2)+7 * F(n-3),n>=3,其中F(0)=1,F(1)=3,F(2)=5,对于给 ...
- FZU 1683 纪念SlingShot
Problem 1683 纪念SlingShot Accept: 682 Submit: 2368 Time Limit: 1000 mSec Memory Limit : 32768 K ...
- 【FOJ】Problem 1683 纪念SlingShot
Problem 1683 纪念SlingShot. 思路 构造矩阵T S(n) = Tn-2[0][0] × S(2) + Tn-2[0][1] × f(2) + Tn-2[0][2] × f(1) ...
- FZU - 1683 纪念SlingShot
Problem 1683 纪念SlingShot Accept: 719 Submit: 2492 Time Limit: 1000 mSec Memory Limit : 32768 K ...
- 纪念SlingShot
很多时候题目里面没有给你n的范围,所以把所有的情况都列出,没有列全的话也会出现time limit 的错误!!! 及时给了不明确,也要列出来 题意:f(0)=1,f(1)=3,f(2)=5,f(n)= ...
- FOJ 1683 纪念SlingShot
来源:http://acm.fzu.edu.cn/problem.php?pid=1683 概述:已知 F(n)=3 * F(n-1)+2 * F(n-2)+7 * F(n-3),n>=3,其中 ...
- 《Nature》纪念人工智能60周年专题:深度学习综述
来源:网络大数据 摘要:本文是<Nature>杂志为纪念人工智能60周年而专门推出的深度学习综述,也是Hinton.LeCun和Bengio三位大神首次合写同一篇文章. 本文是<Na ...
最新文章
- c语言中存储字符用什么函数,那些C语言中你不知道的字符串函数(坑)
- 使MySQL 支持繁体字
- 生产环境中on yarn模式是否采用yarn session
- (转)ZwQuerySystemInformation枚举内核模块及简单应用
- iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比
- cxf调用接口的几种方式_Java调用CXF WebService接口的两种方式实例
- java大于0的正则_求一个 大于0且小于1 的正则表达式(无论几位小数)
- apache 开启 网页压缩
- 世界四大名柚有哪些?
- 分享基于HTTP长连接的Web端即时通讯技术
- 递归例题讲解 一本通1215:迷宫 答案解析
- java增函数的单变量求解,最底层码农的不易谁能体会?谁心里苦谁知道啊。
- 免费翻译英文文献自动生成PDF双语文档小技巧
- 【编译原理·总复习】第二章||文法语言||语法树||最左最右推导归约||句柄直接短语||例题+知识点
- rosetta stone fatal application error: #1141错误 (罗塞塔石碑1141) 解决方法
- 工厂设计模式 - 详解
- 极速办公(PPT)如何设置幻灯片大小
- 策略梯度方法介绍——带基线的REINFORCE
- HTML好看个人主页展示开源源码
- JavaScript之方程式求解