题目描述
译自 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,…
对一个正整数 p,令 X(p) 表示把 p 表示为若干个不同的斐波那契数的和的表示法数,两种表示法不同当且仅当有一个斐波那契数是其中一个的项,而不是另一个的项。
给定一个 n 项正整数序列 a1,a2,…,an,对于其非空前缀 a1,a2,…,ak,定义 pk=Fa1+Fa2+⋯+Fak。
请你对于 k=1,2,…,n,求出 X(pk)mod(109+7)。
输入格式
第一行一个整数 n (1≤n≤100000)。
第二行 n 个整数 a1,a2,…,an (1≤ai≤109)。
输出格式
n 行,第 k 行为 X(pk)mod(109+7)。
4
4 1 1 5
2
2
1
2
数据范围与提示
子任务 |
约束 |
分值 |
1 |
n,ai≤15 |
5 |
2 |
n,ai≤100 |
20 |
3 |
n≤100,ai 是不同的完全平方数 |
15 |
4 |
n≤100 |
10 |
5 |
ai 是不同的偶数 |
15 |
6 |
无特殊约束 |
35 |