题库/YBT0237

#YBT0237. 【例 4】佳佳的 Fibonacci

    传统题 难度: 普及+ 标签>一本通矩阵快速幂线性递推加权前缀和
时间限制1000 ms
内存限制512 MiB
通过率100%1 / 1 次提交
题目描述 查看题解 开始编程Alt+E

YBT0237 · 【例 4】佳佳的 Fibonacci

退出在线编程模式
普及+ 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率100%1 / 1 次提交

题目描述

佳佳对数学,尤其对数列十分感兴趣。在研究完 Fibonacci 数列后,他创造出许多稀奇古怪的数列。例如用 S(n)S(n) 表示 Fibonacci 前 nn 项和  mod m\bmod m 的值,即 S(n)=(F1+F2+...+Fn) mod mS(n)=(F_1+F_2+...+F_n)\bmod m,其中 F1=F2=1,Fi=Fi−1+Fi−2F_1=F_2=1, F_i=F_{i-1}+F_{i-2} 。可这对佳佳来说还是小菜一碟。 终于,她找到了一个自己解决不了的问题。用 T(n)=(F1+2F2+3F3+...+nFn) mod mT(n)=(F_1+2F_2+3F_3+...+nF_n)\bmod m 表示 Fibonacci 数列前 nn 项变形后的和  mod m\bmod m 的值。 现在佳佳告诉你了一个 nn 和 mm,请求出 T(n)T(n) 的值。

输入

输入数据包括一行,两个用空格隔开的整数 n,mn,m。

输出

仅一行,T(n)T(n) 的值。

输入样例

5 5

输出样例

1

提示

样例解释 T(5)=(1+2×1+3×2+4×3+5×5) mod 5=1T(5)=(1+2 × 1+3× 2+4× 3+5× 5)\bmod 5=1 数据范围与提示: 对于 30% 的数据,1≤n≤10001≤n≤1000; 对于 60% 的数据,1≤m≤10001≤m≤1000; 对于 100% 的数据,1≤n,m≤231−11≤n,m≤2^{31}−1。

评测数据说明

本题使用经输入域与独立答案完整核验的第三方公开训练数据,并补充自编边界及公开样例,共10个测试点,非原站或官方原始数据。总分100分。公开训练数据来自HEEKDragonOne/ACM固定提交,逐点来源与SHA256保存在教师复核材料。

题目信息

#1660
100%

1 次通过 · 1 次提交

练习难度 普及+
时间限制
1000ms
内存限制
512MiB
上传者