简单题。考虑每个
fibi
的贡献可得:
fi=∑i=1nfibi∗fn−i
和斐波那契数有关,肯定考虑递推。然 xjb 推就行了:
fi=fn−1+∑i=2nfibi∗fn−i=∑i=2nfibi−1∗fn−i+∑i=2nfibi−2∗fn−1=fn−1+fn−1+fn−2
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
const int MOD=1e9+7;
int n;
LL f[1000005];
int main(){
freopen("bzoj2173.in","r",stdin);
freopen("bzoj2173.out","w",stdout);
scanf("%d",&n);
f[0]=0; f[1]=1;
for(int i=2;i<=n;i++) f[i]=(f[i-1]*2+f[i-2])%MOD;
printf("%lld\n",f[n]);
}