FZU 1683 纪念SlingShot
Accept: 682 Submit: 2368
Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem 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,对于给定的每个n,输出F(0)+ F(1)+ …… + F(n) mod 2009。
Input
Output
Sample Input
Sample Output
思路: 构造矩阵。矩阵的快速幂和矩阵的乘法, (注意两个矩阵相乘不满足交换律)
![](/assets/blank.gif)
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#define mod 2009using namespace std;struct node
{int m[5][5];
};node a,I;
int len=4;void init()
{I.m[1][1]=9;I.m[2][1]=5;I.m[3][1]=3;I.m[4][1]=1;a.m[1][1]=1;a.m[1][2]=3;a.m[1][3]=2;a.m[1][4]=7;a.m[2][1]=0;a.m[2][2]=3;a.m[2][3]=2;a.m[2][4]=7;a.m[3][1]=0;a.m[3][2]=1;a.m[3][3]=0;a.m[3][4]=0;a.m[4][1]=0;a.m[4][2]=0;a.m[4][3]=1;a.m[4][4]=0;return ;
}node mut(node c,node b)
{node ans;for(int i=1;i<=4;i++){for(int j=1;j<=4;j++){ans.m[i][j]=0;for(int k=1;k<=4;k++){ans.m[i][j]=(ans.m[i][j]+b.m[i][k]*c.m[k][j])%mod;}}}return ans;
}node solve(int kk)
{node ans=I;node aa=a;while(kk){if(kk&1){ans=mut(ans,aa);}aa=mut(aa,aa);kk/=2;}return ans;
}int main()
{init();int t;scanf("%d",&t);int n;int cas=0;while(t--){scanf("%d",&n);printf("Case %d: ",++cas);if(n<=2){ if(n==0) printf("1\n");else if(n==1) printf("4\n");else printf("10\n");continue;}else{node fin = solve(n-2);printf("%d\n",fin.m[1][1]%mod);} }return 0;}
FZU 1683 纪念SlingShot相关推荐
- FZU - 1683 纪念SlingShot
Problem 1683 纪念SlingShot Accept: 719 Submit: 2492 Time Limit: 1000 mSec Memory Limit : 32768 K ...
- 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 矩阵
题意: 对于给出的递推关系,求前n项和 思路: 数据大,有规律.矩阵快速幂吧.然而为啥这题long long 就TLE.智障题. 构造: Sn=Sn-1+F(n)= Sn-1 +3F(n-1)+2F( ...
- 【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) ...
- 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,其中 ...
- 纪念SlingShot 矩阵快速幂 构造矩阵
纪念SlingShot Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- 纪念SlingShot
很多时候题目里面没有给你n的范围,所以把所有的情况都列出,没有列全的话也会出现time limit 的错误!!! 及时给了不明确,也要列出来 题意:f(0)=1,f(1)=3,f(2)=5,f(n)= ...
- 纪念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,对于给 ...
- 第一篇博客,纪念一下,终于开通啦!
终于有网了,可以把自己积累的内容都放到博客上来了. 纪念一下. 转载于:https://www.cnblogs.com/tinazzz/p/7067482.html
最新文章
- mysql 代替不明_mysql不明原因停止后不能启动,请高手分析
- Linux下的格式化字符串漏洞利用姿势
- EF Core中关于System.Linq.Dynamic.Core的使用(转载)
- Python正则表达式介绍 re.findall(pattern, str, flag=0)/re.I re.L re.M
- 十二、深入Python列表和元组
- 【Python CheckiO 题解】Flatten a List
- 【学习笔记】第二章——处理机调度的概念、层次、时机、切换过程 调度方式、调度算法的指标
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_7_等待唤醒机制需求分析...
- java为什么要用数据源_【Java】就配置了一个数据源,为什么提示 there is more than one bean of “DataSource” type...
- 第三方支付操作流程,有何优势,又存在哪些风险?
- 微机原理、汇编语言与接口技术(韩晓茹)课后答案
- 面试总结系列(一)------ 国际化中台事业部
- hdu 5956 The Elder
- EndNote X9插入参考文献的格式
- 树莓派4B安装官方64位桌面系统
- 2.4g语音遥控器小结
- 关于YOLOv7的分析
- 鸿蒙需要多少技能命中,【攻略团】鸿蒙困难(天音视角)
- 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素
- 如何查看linux当前版本