Fibonacci 1

题面

\[F_0=0,F_1=1,F_n=F_{n-1}+F_{n-2}
\]

给定\(n\),求

\[S(n)=\sum_{i=1}^{n}F_nF_{n-1}
\]

数据格式

第一行一个整数t表示数据组数.

以下每一行一组测试数据,两个整数\(n\)和\(p\),表示求\(S(n)\bmod p\).

数据范围

\(t\le 100000\)

\(n\le 10^{18}\)

样例输入

10
17 2108
19 93892
21 5461
21 25577
21 22576
17 75829
18 12144
16 64340
29 70121
18 51995

样例输出

782
16848
575
12247
4083
48051
3928
9069
54607
21696

解释

Fib数列:

0 1 1 2 3

5 8 13 21 34

55 89 144 233 377

610 987 1597 2584 4181

6765 10946 17711 28657 46368

75025 121393 196418 317811 514229

832040

Fib[n]Fib[n-1]数列前缀和

0 1 3 9 24 64

168 441 1155 3025 7920 20736

54288 142129 372099 974169 2550408 6677056

17480760 45765225 119814915 313679521 821223648 2149991424

5628750624 14736260449 38580030723 101003831721 264431464440 692290561600

模64340

0       1       3       9       24      64
168 441 1155 3025 7920 20736
54288 13449 50399 9069 41148 50036
44620 19485 13835 22021 52228 5984
30064 19869 29543 4421 48060 11080

模70121

0       1       3       9       24      64
168 441 1155 3025 7920 20736
54288 1887 21494 62596 26052 15561
20631 46333 48247 28288 36617 11443
67833 51815 17491 659 54607 22921

Fibonacci 1的更多相关文章

  1. 算法与数据结构(九) 查找表的顺序查找、折半查找、插值查找以及Fibonacci查找

    今天这篇博客就聊聊几种常见的查找算法,当然本篇博客只是涉及了部分查找算法,接下来的几篇博客中都将会介绍关于查找的相关内容.本篇博客主要介绍查找表的顺序查找.折半查找.插值查找以及Fibonacci查找 ...

  2. #26 fibonacci seqs

    Difficulty: Easy Topic: Fibonacci seqs Write a function which returns the first X fibonacci numbers. ...

  3. 关于java的递归写法,经典的Fibonacci数的问题

    经典的Fibonacci数的问题 主要想展示一下迭代与递归,以及尾递归的三种写法,以及他们各自的时间性能. public class Fibonacci { /*迭代*/ public static ...

  4. 斐波拉契数列(Fibonacci) 的python实现方式

    第一种:利用for循环 利用for循环时,不涉及到函数,但是这种方法对我种小小白来说比较好理解,一涉及到函数就比较抽象了... >>> fibs = [0,1] >>&g ...

  5. fibonacci数列(五种)

    自己没动脑子,大部分内容转自:http://www.jb51.net/article/37286.htm 斐波拉契数列,看起来好像谁都会写,不过它写的方式却有好多种,不管用不用的上,先留下来再说. 1 ...

  6. POJ3070 Fibonacci[矩阵乘法]

    Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13677   Accepted: 9697 Descri ...

  7. Fibonacci 数列算法分析

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

  8. 算法系列:Fibonacci

    Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...

  9. UVa #11582 Colossal Fibonacci Numbers!

    巨大的斐波那契数 The i'th Fibonacci number f (i) is recursively defined in the following way: f (0) = 0 and  ...

  10. Buge's Fibonacci Number Problem

    Buge's Fibonacci Number Problem Description snowingsea is having Buge’s discrete mathematics lesson, ...

随机推荐

  1. git merge 和 git rebase 小结

    Git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 ---------------------- ...

  2. phpcms v9 0day

    index.php?m=member&c=index&a=login 后缀 username=phpcms&password=123456%26username%3d%2527 ...

  3. js实现99乘法表

    实现99乘法表(输出到页面上) * document.write("<table border='1' bordercolor='blue'>"); //循环行 9 f ...

  4. 修改hosts

  5. JAVA利用Zip4j解压缩【转】

    官方地址:http://www.lingala.net/zip4j/(需要FQ) jar包:http://pan.baidu.com/s/145hwI 演示包:http://pan.baidu.com ...

  6. array_fill 用给定的值填充数组

    转自:http://www.phpstudy.net/php/165.html PHP array_fill 用给定的值填充数组 array_fill (PHP 4 >= 4.2.0, PHP ...

  7. CF451A Game With Sticks 水题

    Codeforces Round #258 (Div. 2) Game With Sticks A. Game With Sticks time limit per test 1 second mem ...

  8. 说说移动前端中 viewport (视口)

    转载网络资源的文章:来源不详~~ 移动前端中常说的 viewport (视口)就是浏览器显示页面内容的屏幕区域.其中涉及几个重要概念是 dip ( device-independent pixel 设 ...

  9. Linux运维初级教程(四)shell简介

    查看系统可用的shell命令 cat /etc/shells shell是用于与内核进行交流的工具 管道和重定向(< < > > |) |为管道 标准输入的文件描述符为0,标准 ...

  10. R中的par()函数的参数

    把R中par()函数的主要参数整理了一下(另外本来还整理了每个参数的帮助文档中文解释,但是太长,就分类之后,整理为图表,excel不便放上来,就放了这些表的截图)