题目背景
来源:2011中国国家集训队命题答辩
题目描述
lqp在为出题而烦恼,他完全没有头绪,好烦啊…
他首先想到了整数拆分。整数拆分是个很有趣的问题。给你一个正整数 N ,对于N的一个整数拆分就是满足任意 m>0,a1,a2,a3…am>0,且 a1+a2+a3+…+am=n 的一个有序集合。通过长时间的研究我们发现了计算对于 n 的整数拆分的总数有一个很简单的递推式,但是因为这个递推式实在太简单了,如果出这样的题目,大家会对比赛毫无兴趣的。
然后 lqp 又想到了斐波那契数。定义 F0=0,F1=1,Fn=Fn−1+Fn−2(n>1),Fn就是斐波那契数的第n项。但是求出第 n 项斐波那契数似乎也不怎么困难…
lqp 为了增加选手们比赛的欲望,于是绞尽脑汁,想出了一个有趣的整数拆分,我们暂且叫它:整数的lqp拆分。
和一般的整数拆分一样,整数的 lqp 拆分是满足任意 m>0,a1,a2,a3…am>0,且 a1+a2+a3+…+am=n 的一个有序集合。但是整数的lqp拆分要求的不是拆分总数,相对更加困难一些。
对于每个拆分,lqp 定义这个拆分的权值 Fa1Fa2…Fam,他想知道对于所有的拆分,他们的权值之和是多少?
简单来说,就是求
∑∏i=1mFai
m>0
a1,a2...am>0
a1+a2+...+am=n
由于答案可能非常大,所以要对 109+7 取模。
输入格式
输入的第一行包含一个整数 n。
输出格式
输出一行一个整数表示答案。
3
5
提示
【数据范围】
对于 60% 的数据,1≤n≤109;
对于 100% 的数据,1≤n≤1010000。
【样例解释】
F0=0,F1=1,F2=1,F3=2。
对于 n=3,有这样几种 lqp 拆分:
3=1+1+1,权值是 F1×F1×F1=1×1×1=1
3=1+2,权值是 F1×F2=1×1=1
3=2+1,权值是 F2×F1=1×1=1
3=3,权值是 F3=2
所以答案是 1+1+1+2=5