Fibonacci数列
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 钻石 Diamond
题解
题目描述 Description
定义:f0=f1=1, fn=fn-1+fn-2(n>=2)。{fi}称为Fibonacci数列。

输入n,求fn mod q。其中1<=q<=30000。

输入描述 Input Description
第一行一个数T(1<=T<=10000)。

以下T行,每行两个数,n,q(n<=109, 1<=q<=30000)

输出描述 Output Description
文件包含T行,每行对应一个答案。

样例输入 Sample Input
3

6 2

7 3

7 11

样例输出 Sample Output
1

0

10

数据范围及提示 Data Size & Hint
1<=T<=10000

n<=109, 1<=q<=30000

写在前面:不用MarkDown的倔强
思路:转移矩阵快速幂,用结构体函数更快些
1 1
1 0
代码:
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int n,m,t;
struct os
{int a[3][3];void clear(){for (int i=1;i<=2;i++)for (int j=1;j<=2;j++) a[i][j]=0;}
}x;
os add(os x,os y)
{os z;z.clear();for (int i=1;i<=2;i++)for (int j=1;j<=2;j++) for (int k=1;k<=2;k++) z.a[i][j]=(z.a[i][j]+(x.a[i][k]*y.a[k][j])%m)%m;return z;
}
os qr()
{os t,ans;ans.a[1][1]=ans.a[1][2]=ans.a[2][1]=1;while (n!=0){if (n%2==1) ans=add(ans,x);n/=2;x=add(x,x);}return ans;
}
main()
{scanf("%d",&t);for (int i=1;i<=t;i++){scanf("%d%d",&n,&m);x.clear();x.a[1][2]=1;x.a[2][1]=1;x.a[2][2]=1;os ans=qr();printf("%d\n",ans.a[1][1]);}
}

【codevs1250】Fibonacci数列,矩阵乘法入门相关推荐

  1. CODEVS1533 Fibonacci数列 (矩阵乘法)

    嗯,,,矩阵乘法最基础的题了. Program CODEVS1250; type arr=array[1..2,1..2] of longint; var T,n,mo:longint;a,b:arr ...

  2. Fibonacci数列 矩阵快速幂

    点击打开链接 问题 A: 一道简单的Fibonacci 时间限制: 1 Sec  内存限制: 32 MB 题目描述 有如下数列:F(0) = 7, F(1) = 11, F(n) = F(n - 1) ...

  3. NOJI 148 fibonacci数列(二) 矩阵乘法二分幂

    第一次这样写以为不对的,自己撮合的着写的没想到对了,太激动了~.~ 点击打开链接 #include <stdio.h> #include <string.h> #include ...

  4. 1250 Fibonacci数列(矩阵乘法快速幂)

    1250 Fibonacci数列  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 定义:f0=f1=1, fn=fn-1 ...

  5. 入门训练 Fibonacci数列-python实现

    入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大 ...

  6. 蓝桥杯 入门训练 试题集汇总 【A+B问题、序列求和、圆的面积、Fibonacci数列】

    练习系统 目   录 BEGIN-1 A+B问题 BEGIN-2 序列求和 BEGIN-3 圆的面积 BEGIN-3 Fibonacci数列 BEGIN-1 A+B问题 资源限制 时间限制:1.0s ...

  7. 优美的Fibonacci数列与矩阵

    题目:http://codeforces.com/contest/392/problem/C 题意:给定Fibonacci数列F[],令,求的值. 分析:对于Fibonacci数列的题目来说一般要构造 ...

  8. 入门训练 Fibonacci数列 c语言

    入门训练 Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多 ...

  9. 入门训练 Fibonacci数列

    http://lx.lanqiao.org/problem.page?gpid=T4 入门训练 Fibonacci数列   时间限制:1.0s   内存限制:256.0MB 问题描述 Fibonacc ...

最新文章

  1. 《DDIA》读书笔记(一):可靠性、可扩展性、可维护性
  2. 囚犯学会编程之后会发生什么?
  3. 【清华大学龙明盛副教授】迁移学习理论与算法
  4. 【负载均衡】揭开F5 BIG-IP的神秘面纱(一)
  5. R语言统计与绘图:正态、方差齐性、多重比较
  6. 选择 Reac​​tJS 的五大理由
  7. cogs 547:[HAOI2011] 防线修建
  8. IOS UIScrollView 滚动视图的使用和文档
  9. spring cloud全家桶_吃透这份Github点赞120k的Spring全家桶笔记Offer拿到手软
  10. 【Kettle】date类型不能被excel输出
  11. java list平均分成5份_java中将一个List等分成n个list的工具方法(推荐)
  12. 阶段3 1.Mybatis_11.Mybatis的缓存_4 mybatis一对多实现延迟加载
  13. 第2章-计算机组成原理之概述篇
  14. 八数码问题matlab实现,A* 算法解决八数码问题 matlab
  15. 十大硬盘数据恢复软件介绍
  16. 歌曲影视随意赏计算机课件,世界影视音乐赏析课件.ppt
  17. 阿里云centos部署jsonserver
  18. zabbix与nagios对比
  19. 在电脑双屏使用时,搜狗输入法在别的屏幕(转)
  20. 可视化大屏设计尺寸_UI设计中大屏可视化设计尺寸指南

热门文章

  1. 【华为云技术分享】《跟唐老师学习云网络》—我的网络概念
  2. 即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务
  3. php 生成缩略图保存,PHP批量生成图片缩略图的方法
  4. Redis集群如何安装
  5. MacOS下载钉钉直播回放经验总结
  6. 使用MarkDown+mermaid-JS绘制简单图形
  7. 例子---PHP实现网页计数器
  8. 谈谈你对oracle,对Oracle的优化
  9. break continue区别和用法_因为不知道break和contiue的核心区别,他在初试就被刷了下来...
  10. 清除90天苹果充值记录_王者荣耀安卓可以转到苹果吗?角色迁移iOS怎么转移到安卓...