HDU 2855 斐波那契+矩阵快速幂
http://acm.hdu.edu.cn/showproblem.php?pid=2855
化简这个公式,多写出几组就会发现规律
d[n]=F[2*n]
后面的任务就是矩阵快速幂拍一个斐波那契模板出来了
这里用的是2维 vector
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
typedef vector<int>vec;
typedef vector<vec>mat;
typedef long long ll;
typedef unsigned int uint;
int M;
mat mul(mat &a,mat &b)
{
mat c(a.size(),vec(b[].size()));
for(uint i=;i<a.size();i++)
{
for(uint k=;k<b.size();k++)
{
for(uint j=;j<b[].size();j++)
{
c[i][j]=(c[i][j]+a[i][k]*b[k][j])%M;
}
}
}
return c;
} mat pow(mat a,ll n)
{
mat b(a.size(),vec(a.size()));
for(uint i=;i<a.size();i++)
{
b[i][i]=;
}
while(n>)
{
if(n&) b=mul(b,a);
a=mul(a,a);
n>>=;
}
return b;
}
ll n;
int main()
{
int T,n,i;
scanf("%d",&T);
for(i=;i<=T;i++)
{
scanf("%d%d",&n,&M);
mat a(,vec());
a[][]=a[][]=a[][]=;
a[][]=;
a=pow(a,*n);
printf("%d\n",a[][]);
}
return ;
}
HDU 2855 斐波那契+矩阵快速幂的更多相关文章
- 「GXOI / GZOI2019」逼死强迫症——斐波那契+矩阵快速幂
		
题目 [题目描述] ITX351 要铺一条 $2 \times N$ 的路,为此他购买了 $N$ 块 $2 \times 1$ 的方砖.可是其中一块砖在运送的过程中从中间裂开了,变成了两块 $1 \t ...
 - 2018年湘潭大学程序设计竞赛G又见斐波那契(矩阵快速幂)
		
题意 题目链接 Sol 直接矩阵快速幂 推出来的矩阵应该长这样 \begin{equation*}\begin{bmatrix}1&1&1&1&1&1\\1 & ...
 - hdu 4549 M斐波那契数列(快速幂 矩阵快速幂 费马小定理)
		
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4549: 题目是中文的很容易理解吧.可一开始我把题目看错了,这毛病哈哈. 一开始我看错题时,就用了一个快速 ...
 - 51Nod - 1242   斐波那契(快速幂)
		
斐波那契数列的定义如下: F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) (n >= 2) (1, 1, 2, 3, 5, 8, 13, 21, ...
 - HDU 2814 斐波那契循环节 欧拉降幂
		
一看就是欧拉降幂,问题是怎么求$fib(a^b)$,C给的那么小显然还是要找循环节.数据范围出的很那啥..unsigned long long注意用防爆的乘法 /** @Date : 2017-09- ...
 - HDU 3977 斐波那契循环节
		
这类型的题目其实没什么意思..知道怎么做后,就有固定套路了..而且感觉这东西要出的很难的话,有这种方法解常数会比较大吧..所以一般最多套一些比较简单的直接可以暴力求循环节的题目了.. /** @Dat ...
 - HDU——4549M斐波那契数列(矩阵快速幂+快速幂+费马小定理)
		
M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Su ...
 - HDU 2516 斐波那契博弈
		
点这里去看题 n为斐波那契数时,先手败,推断方法见算法讲堂 #include<bits/stdc++.h> using namespace std; int main() { ],i,n, ...
 - HDU 1021(斐波那契数与因子3 **)
		
题意是说在给定的一种满足每一项等于前两项之和的数列中,判断第 n 项的数字是否为 3 的倍数. 斐波那契数在到第四十多位的时候就会超出 int 存储范围,但是题目问的是是否为 3 的倍数,也就是模 3 ...
 
随机推荐
- Oralce配置正确,报监听错误或无法识别描述中的服务
			
出差客户现场,修改过网络配置,回来后本地虚拟机的Oracle数据库就不能登陆了 报监听错误,在服务器中使用Net Configration Assistant删除以前的,重新配置新的,还是不行,重启系 ...
 - 按照网上方法js删除指定cookie,却怎么也删除不了,解决如下
			
网上方法: 查找原因说是没有指定Path,记得系统里以前也没指定还是可以的,就查了一下现在的系统Path,猜测是系统Path由以前的/改为/E7-Planning 就改了前端删除方法 测试一下OK了, ...
 - Java——URLEncoder和URLDecoder
			
import java.net.URLDecoder; import java.net.URLEncoder; //========================================== ...
 - JavaWeb学习笔记——开发动态WEB资源(五)servlet身份验证
			
本工程的功能是实现Javaweb的servlet身份验证 一下是login.html文件中的代码 <!DOCTYPE html> <html> <head> < ...
 - h5移动端滑动的细节
			
1.获取手指滑动的长度: var hasTouch = 'ontouchstart' in window && !isTouchPad, _start:function(e){ var ...
 - NGUI架构和Draw Call合并原理
			
http://bbs.9ria.com/thread-282804-1-1.html http://www.unitymanual.com/blog-97-238.html
 - .net mvc web api 返回 json 内容,过滤值为null的属性
			
原文:http://blog.csdn.net/xxj_jing/article/details/49508557 版权声明:本文为博主原创文章,未经博主允许不得转载. .net mvc web ap ...
 - mysql主从数据库不同步的2种解决方法(转)
			
今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status; ...
 - PHPstorm设置连接FTP,进行文件上传、下载、比较
			
内容转载自:http://www.cnblogs.com/jikey/p/3486621.html 如何在 ...
 - java获取指定路径下的指定文件/java.io.File.listFiles(FilenameFilter filter)
			
java.io.File.listFiles(FilenameFilter filter) 返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录. 声明 以下是java.io. ...