http://www.tyvj.cn/p/1337

时间: 1000ms / 空间: 131072KiB / Java类名: Main

描述

著名的斐波那契数列
f[n]=1               n=1,2
     f[n-1]+f[n-2]   n>2
现在求第n项,由于f[n]可能很大,你只需要输出mod 32768的值即可。

输入格式

仅有一行,为n,1<=n<=maxlongint

输出格式

仅有一个数字,即答案

测试样例1

输入

3

输出

2

备注

各个测试点1s
/*  根据分析可以得到ans{f(n-1),f(n)}*k{0,1}=ans{f(n),f(n+1)}
                             {1,1}
  那么由ans{f(1),f(2)}到ans{f(n-1),f(n)},需乘以n-1个k矩阵,这是可以应用快速幂求的
*/ 

#include<cstdio>
#include<cstring>
#define m 32768
#define N 2
using namespace std;

struct mat
{
    int num[N][N];
}k,ans;
int n;

mat work(mat a,mat b)//矩阵乘法
{
    mat temp;    memset(temp.num,0,sizeof(temp.num));;i<N;i++)
      ;j<N;j++)
      {
        ;h<N;h++)
          temp.num[i][j]+=a.num[i][h]*b.num[j][h];
          temp.num[i][j]%=m;
      }
    return temp;
}

void power()//快速幂
{
    )
      {
           ==) ans=work(ans,k);
           k=work(k,k);
           n/=;
      }
}

int main()
{
    scanf("%d",&n);
    n=n-;
    k.num[][]=;
    k.num[][]=k.num[][]=k.num[][]=;
    ans.num[][]=ans.num[][]=;
    ans.num[][]=ans.num[][]=;
    power();
    printf(][]);
}

P1337 fibonacci数列(tyvj)的更多相关文章

  1. Fibonacci 数列算法分析

    /************************************************* * Fibonacci 数列算法分析 ****************************** ...

  2. 可变长度的Fibonacci数列

    原题目: Write a recursive program that extends the range of the Fibonacci sequence.  The Fibonacci sequ ...

  3. 入门训练 Fibonacci数列

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

  4. fibonacci 数列及其应用

    fibonacci 数列及其延展 fibonacci计算 fibonacci数列是指 0,1,1,2,3,5,8,13,21……这样自然数序列,即从第3项开始满足f(n)=f(n-1)+f(n-2): ...

  5. 【编程题目】题目:定义 Fibonacci 数列 输入 n,用最快的方法求该数列的第 n 项。

    第 19 题(数组.递归):题目:定义 Fibonacci 数列如下:/ 0 n=0f(n)= 1 n=1/ f(n-1)+f(n-2) n=2输入 n,用最快的方法求该数列的第 n 项. 思路:递归 ...

  6. 矩阵乘法快速幂 codevs 1732 Fibonacci数列 2

    1732 Fibonacci数列 2  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 在“ ...

  7. 矩阵乘法快速幂 codevs 1250 Fibonacci数列

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

  8. 蓝桥杯 入门训练 Fibonacci数列(水题,斐波那契数列)

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

  9. 【wikioi】1250 Fibonacci数列(矩阵乘法)

    http://wikioi.com/problem/1250/ 我就不说这题有多水了. 0 1 1 1 矩阵快速幂 #include <cstdio> #include <cstri ...

随机推荐

  1. Nodejs in Visual Studio Code 03.学习Express

    1.开始 下载源码:https://github.com/sayar/NodeMVA Express组件:npm install express -g(全局安装) 2.ExpressRest 打开目录 ...

  2. 大暴力——[HAOI]2012音量调节

    题目:[HAOI]2012音量调节 描述: 问题描述 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里 ...

  3. POJ-1200(哈希)

    2015-08-19 题意:给出两个数n,nc,并给出一个由nc种字符组成的字符串.求这个字符串中长度为n的子串有多少种. 分析: 1.这个题不用匹配,因为不高效. 2.将长度为n的子串看作n位的nc ...

  4. casperjs配合phantomjs实现自动登录百度,模拟点击等等操作 - 怕虎在线www.ipahoo.com图文教程 - 怕虎在线

    微信支付取消2万元保证金门槛,这是全民电商来袭!-观点-虎嗅网 微信支付取消2万元保证金门槛,这是全民电商来袭! casperjs配合phantomjs实现自动登录百度,模拟点击等等操作 - 怕虎在线 ...

  5. acm - cry for no one

    再一次回到实验室,距离上次已经四个多月了.诸多业障,三界无安,犹如火灾,众若充满,甚可怖畏,常有生老病死 忧患,如是等火,炽然不息.<成实论>云:“万法刹那生,万法刹那灭,转转相续也”.又 ...

  6. DB2 递归

    公司一直用递归来生成组织机构的树状图.看了上面的文档,应该立马就能写了. 不过前几天,有个功能涉及到下面的状况: 需要组织机构等级为1级的下面所有子机构.且按照一级组织机构分组.大家都觉得很难,哥就一 ...

  7. 1000 A+B [ACM刷题]

    这一段时间一直都在刷OJ,这里建一个博客合集,用以记录和分享算法学习的进程. github传送门:https://github.com/haoyuanliu/Online_Judge/tree/mas ...

  8. 提交表单时的等待(loading)效果

    $(document).ready(function () { $("body").prepend('<div id="overlay" class=&q ...

  9. [C#技术] .NET平台开源JSON库LitJSON的使用方法

    一个简单示例: String str = "{’name’:’cyf’,’id’:10,’items’:[{’itemid’:1001,’itemname’:’hello’},{’itemi ...

  10. SKSpriteNode类

    继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/L ...