Fibonacci
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Problem Description
矩阵快速幂当然是签到题啦!
大家都知道斐波拉契数列的定义如下:
$$f_i = f_{i-1} + f_{i-2} (i \ge 2)\\ f_0 = 0, f_1 = 1$$在大一时,大家都学过了矩阵,现在凤爪老师决定检验一下大家学习情况。凤爪老师写出了如下式子:
定义矩阵含义为 。
因为 ,所以 ,即:
$$\begin{bmatrix}f_{i+1} & f_{i} & f_{i-1}\end{bmatrix} \Leftarrow \begin{bmatrix}f_i & f_{i-1}& f_{i-2}\end{bmatrix} \times \begin{bmatrix}1 &1& 0\\ 1 &0& 1\\ 0 &0&0 \end{bmatrix}$$当然最后一维是没必要的,可以写为:
$$\begin{bmatrix}f_{i+1} & f_{i}\end{bmatrix} \Leftarrow \begin{bmatrix}f_i & f_{i-1}\end{bmatrix} \times \begin{bmatrix}1 &1\\ 1 &0\end{bmatrix}$$这样就成功的更新了斐波那契数列,加上快速幂就可以达到快速求取的目的。当然,凤爪老师不想自己实现,所以他让你来负责完成。
现在给定 次询问,每次给出一个自然数 ,请你求出斐波那契数列的第 项的值,由于这个值可能很大,你需要对给出的 取模。
Input Format
第一行包括一个正整数 ,表示测试的组数。
对于每组测试数据:
第一行输入两个整数 和 ,分别表示询问次数和模数。
接下来 行,每行输入一个自然数 ,表示一次询问。
Output Format
对于每次询问,输出一行一个整数,表示 的值。
Sample
样例输入 1
1
3 1000000007
0
1
10
样例输出 1
0
1
55
Hint
- , 注意 等于 的情况。
重庆邮电大学第二十一届ACM程序设计大赛(网络赛)
- 状态
- 已结束
- 规则
- XCPC
- 题目
- 11
- 开始于
- 2026-4-18 0:00
- 结束于
- 2026-4-20 0:00
- 持续时间
- 48 小时
- 主持人
- 参赛人数
- 24