fzu 1683 纪念SlingShot 矩阵
题意:
对于给出的递推关系,求前n项和
思路:
数据大,有规律。矩阵快速幂吧。然而为啥这题long long 就TLE。智障题。
构造:
Sn=Sn-1+F(n)= Sn-1 +3F(n-1)+2F(n-2)+7F(n-3)
ans矩阵
9 0 0 0
0 3 0 0
0 0 2 0
0 0 0 7
base 矩阵
1 3 2 7
0 3 2 7
0 1 0 0
0 0 1 0
注意0 1 2 的情况。
#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
struct matrix
{int c[5][5];}matrix_base,matrix_ans,temp;
int n;
int mod=2009;
matrix mult (matrix a,matrix b)
{for(int i=1;i<=4;i++){for(int j=1;j<=4;j++){temp.c[i][j]=0;for(int k=1;k<=4;k++)temp.c[i][j]=(a.c[i][k]*b.c[k][j]+temp.c[i][j])%mod;}}return temp;
}
void quick(matrix a)
{while(n){if(n&1){matrix_ans=mult(a,matrix_ans );}a=mult(a,a);n=n>>1;}int sum=(matrix_ans.c[1][1]+matrix_ans.c[1][2]+matrix_ans.c[1][3]+matrix_ans.c[1][4])%mod;printf("%d\n",sum);
}
int main()
{int T;scanf("%d",&T);for(int Case=1;Case<=T;Case++){scanf("%d",&n);printf("Case %d: ",Case);if(n<3){if(n==1){printf("4\n");}else if(n==2){printf("9\n");}else if(n==0){printf("1\n");}}else{n=n-2;memset(matrix_ans.c,0,sizeof(matrix_ans.c));matrix_base.c[1][1]=1,matrix_base.c[1][2]=3,matrix_base.c[1][3]=2,matrix_base.c[1][4]=7;matrix_base.c[2][1]=0,matrix_base.c[2][2]=3,matrix_base.c[2][3]=2,matrix_base.c[2][4]=7;matrix_base.c[3][1]=0,matrix_base.c[3][2]=1,matrix_base.c[3][3]=0,matrix_base.c[3][4]=0;matrix_base.c[4][1]=0,matrix_base.c[4][2]=0,matrix_base.c[4][3]=1,matrix_base.c[4][4]=0;matrix_ans.c[1][1]=9,matrix_ans.c[2][2]=5,matrix_ans.c[3][3]=3,matrix_ans.c[4][4]=1;quick(matrix_base);}}return 0;
}
fzu 1683 纪念SlingShot 矩阵相关推荐
- FZU 1683 纪念SlingShot
Problem 1683 纪念SlingShot Accept: 682 Submit: 2368 Time Limit: 1000 mSec Memory Limit : 32768 K ...
- 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,对于给 ...
- 【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) ...
- 纪念SlingShot 矩阵快速幂 构造矩阵
纪念SlingShot Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- 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 矩阵
第一次独立做矩阵,只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,对于给 ...
- 纪念SlingShot
很多时候题目里面没有给你n的范围,所以把所有的情况都列出,没有列全的话也会出现time limit 的错误!!! 及时给了不明确,也要列出来 题意:f(0)=1,f(1)=3,f(2)=5,f(n)= ...
- 斯坦福机器学习Coursera课程:第八次作业--推荐系统
根据已有的1682部电影和943用户及部分用户对电影的评分数据,对新用户作电影推荐或预测未评价的评分. 一. 准备工作 1. 加载ex8_movies.mat数据 Y (1682*943) 用户评份数 ...
最新文章
- C++11可变模版参数的妙用+ 认真分析mmap:是什么 为什么 怎么用
- TCP 为什么是三次握手,而不是两次或四次?
- IBM AIX JFS2文件系统数据恢复技术
- 根据两点间的经纬度计算距离
- Google Map API 学习六-设置infoWindow的长宽
- hdu 5246(贪心)
- 史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
- android查看kernel log
- html css加载不了_CSS加载会阻塞页面显示?
- IP大时代下,网络枪机技术发展现状
- 【单调队列】【DP】城市交通(jzoj 1749)
- method=post 怎么让查看源代码看不到_网上文档无法复制怎么办?试试这几个方法!...
- Bulma - 基于 Flexbox 的现代化的 CSS 框架
- 手把手教你开发chrome扩展
- 【问题导向】GWR与MGWR——以南京市中心城区住宅小区为例
- 弘辽科技:拼多多批发价格会影响活动价格吗?商家要不要改价?
- 【数据结构】——逆波兰表达式
- 【雅思大作文考官范文】——第八篇:recycling essay(垃圾回收)
- 将win7电脑无线网变身WiFi热点,让手机、笔记本共享上网
- 一分钟五类果汁喝掉熊猫眼
热门文章
- 算法优化之c++多线程优化:思考与总结
- 1.所谓计算机热启动是指(),(计算机应基础与应用复习题.doc
- oracle oci ubuntu server ssh可以连接但tcp连接失败 20220325
- 迪文4.3寸宽视角COF智能屏新品发布
- 一文带你了解 ZigBee
- 约束(constraint)
- 计算机进位计数制实训课教案,进制转换汇报课教案[五篇]
- LPC简介(超详细)
- 我想跳槽了!怎么办?
- 计算机对电影工业的影响的英语作文,2019考研英语作文范文欣赏:电影电视对人们行为的影响...