【codevs1250】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
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数列,矩阵乘法入门相关推荐
- CODEVS1533 Fibonacci数列 (矩阵乘法)
嗯,,,矩阵乘法最基础的题了. Program CODEVS1250; type arr=array[1..2,1..2] of longint; var T,n,mo:longint;a,b:arr ...
- Fibonacci数列 矩阵快速幂
点击打开链接 问题 A: 一道简单的Fibonacci 时间限制: 1 Sec 内存限制: 32 MB 题目描述 有如下数列:F(0) = 7, F(1) = 11, F(n) = F(n - 1) ...
- NOJI 148 fibonacci数列(二) 矩阵乘法二分幂
第一次这样写以为不对的,自己撮合的着写的没想到对了,太激动了~.~ 点击打开链接 #include <stdio.h> #include <string.h> #include ...
- 1250 Fibonacci数列(矩阵乘法快速幂)
1250 Fibonacci数列 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 定义:f0=f1=1, fn=fn-1 ...
- 入门训练 Fibonacci数列-python实现
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大 ...
- 蓝桥杯 入门训练 试题集汇总 【A+B问题、序列求和、圆的面积、Fibonacci数列】
练习系统 目 录 BEGIN-1 A+B问题 BEGIN-2 序列求和 BEGIN-3 圆的面积 BEGIN-3 Fibonacci数列 BEGIN-1 A+B问题 资源限制 时间限制:1.0s ...
- 优美的Fibonacci数列与矩阵
题目:http://codeforces.com/contest/392/problem/C 题意:给定Fibonacci数列F[],令,求的值. 分析:对于Fibonacci数列的题目来说一般要构造 ...
- 入门训练 Fibonacci数列 c语言
入门训练 Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多 ...
- 入门训练 Fibonacci数列
http://lx.lanqiao.org/problem.page?gpid=T4 入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacc ...
最新文章
- 《DDIA》读书笔记(一):可靠性、可扩展性、可维护性
- 囚犯学会编程之后会发生什么?
- 【清华大学龙明盛副教授】迁移学习理论与算法
- 【负载均衡】揭开F5 BIG-IP的神秘面纱(一)
- R语言统计与绘图:正态、方差齐性、多重比较
- 选择 Reac​​tJS 的五大理由
- cogs 547:[HAOI2011] 防线修建
- IOS UIScrollView 滚动视图的使用和文档
- spring cloud全家桶_吃透这份Github点赞120k的Spring全家桶笔记Offer拿到手软
- 【Kettle】date类型不能被excel输出
- java list平均分成5份_java中将一个List等分成n个list的工具方法(推荐)
- 阶段3 1.Mybatis_11.Mybatis的缓存_4 mybatis一对多实现延迟加载
- 第2章-计算机组成原理之概述篇
- 八数码问题matlab实现,A* 算法解决八数码问题 matlab
- 十大硬盘数据恢复软件介绍
- 歌曲影视随意赏计算机课件,世界影视音乐赏析课件.ppt
- 阿里云centos部署jsonserver
- zabbix与nagios对比
- 在电脑双屏使用时,搜狗输入法在别的屏幕(转)
- 可视化大屏设计尺寸_UI设计中大屏可视化设计尺寸指南
热门文章
- 【华为云技术分享】《跟唐老师学习云网络》—我的网络概念
- 即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务
- php 生成缩略图保存,PHP批量生成图片缩略图的方法
- Redis集群如何安装
- MacOS下载钉钉直播回放经验总结
- 使用MarkDown+mermaid-JS绘制简单图形
- 例子---PHP实现网页计数器
- 谈谈你对oracle,对Oracle的优化
- break continue区别和用法_因为不知道break和contiue的核心区别,他在初试就被刷了下来...
- 清除90天苹果充值记录_王者荣耀安卓可以转到苹果吗?角色迁移iOS怎么转移到安卓...