F. 「CEOI2018」斐波那契表示法

    传统题 4000ms 256MiB

「CEOI2018」斐波那契表示法

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

[AdditionalFile3185.zip](file://AdditionalFile3185.zip?type=additional_file)

#3185. 「CEOI2018」斐波那契表示法

标签: 传统 | 时间限制: 4000 ms | 内存限制: 256 MiB |

题目描述

译自 CEOI2018 Day2 T1. Fibonacci Representations

译者为来自 FZYZ OI Group 的

https://loj.ac/user/5517


定义斐波那契数列为:

$$\begin{align}F_1&=1\\F_2&=2\\F_n&=F_{n-1}+F_{n-2},&n \geq 3\end{align}$$

其前几项为  1,2,3,5,8,13,21, 1, 2, 3, 5, 8, 13, 21, \ldots

对一个正整数 pp,令 X(p)X(p) 表示把 pp 表示为若干个不同的斐波那契数的和的表示法数,两种表示法不同当且仅当有一个斐波那契数是其中一个的项,而不是另一个的项。

给定一个 nn 项正整数序列 a1,a2,,ana_1, a_2, \ldots, a_n,对于其非空前缀 a1,a2,,aka_1, a_2, \ldots, a_k,定义 pk=Fa1+Fa2++Fakp_k=F_{a_1}+F_{a_2}+\cdots+F_{a_k}

请你对于 k=1,2,,nk=1, 2, \ldots, n,求出 X(pk)mod(109+7)X(p_k)\bmod(10^9+7)

输入格式

第一行一个整数 n (1n100000)n\ (1 \leq n \leq 100\,000)

第二行 nn 个整数 a1,a2,,an (1ai109)a_1, a_2, \ldots, a_n\ (1 \leq a_i \leq 10^9)

输出格式

nn 行,第 kk 行为 X(pk)mod(109+7)X(p_k)\bmod(10^9+7)

样例

输入

4
4 1 1 5

输出

2
2
1
2
$$\begin{align}p_1 &= F_4 = 5\\p_2 &= F_4 + F_1 = 5 + 1 = 6\\p_3 &= F_4 + F_1 + F_1 = 5 + 1 + 1 = 7\\p_4 &= F_4 + F_1 + F_1 + F_5 = 5 + 1 + 1 + 8 = 15\end{align}$$

55 有两种表示法:F2+F3=2+3F_2+F_3=2+3F4=5.F_4=5. 因此 X(p1)=2X(p_1)=2

66 有两种表示法:1+5=1+2+31+5=1+2+3

77 只有一种表示法:2+52+5

1515 有两种表示法:2+13=2+5+82+13=2+5+8

数据范围与提示

子任务 约束 分值
11 n,ai15n, a_i \leq 15 55
22 n,ai100n, a_i \leq 100 2020
33 n100n \leq 100aia_i 是不同的完全平方数 1515
44 n100n \leq 100 1010
55 aia_i 是不同的偶数 1515
66 无特殊约束 3535

入门提高测试:入门+提高-难度(时间3h)0828

未参加
状态
已结束
规则
XCPC
题目
8
开始于
2024-8-28 8:30
结束于
2024-8-28 11:50
持续时间
3.3 小时
主持人
参赛人数
0