我们的目标是求∑∏i=1mFai\sum\prod_{i=1}^m F_{a_i}∑∏i=1mFai
设f(i)=∑∏j=1iFajf(i) = \sum\prod_{j=1}^i F_{a_j}f(i)=∑∏j=1iFaj
那么f(i−1)=∑∏j=1i−1Fajf(i - 1) = \sum\prod_{j=1}^{i - 1} F_{a_j}f(i−1)=∑∏j=1i−1Faj
又有递推式f(i)=∑j=1i−1f(j)∗Fai−jf(i) = \sum_{j = 1}^{i - 1}f(j) * F_{a_i - j}f(i)=∑j=1i−1f(j)∗Fai−j
那么推吧
f(i)−f(i−1)f(i) - f(i - 1)f(i)−f(i−1)
=∑j=1i−1f(j)∗Fai−j−∑j=1i−2f(j)∗Fai−1−j=\sum_{j = 1}^{i - 1}f(j) * F_{a_i - j} - \sum_{j = 1}^{i - 2}f(j) * F_{a_i -1- j}=j=1∑i−1f(j)∗Fai−j−j=1∑i−2f(j)∗Fai−1−j
=f(i−1)∗Fa1+∑∏i=1i−2f(j)∗(Fai−j−Fai−1−j)=f(i - 1) * F_{a_1} + \sum\prod_{i=1}^{i - 2} f(j) * (F_{a_i - j} - F_{a_i - 1 - j})=f(i−1)∗Fa1+∑i=1∏i−2f(j)∗(Fai−j−Fai−1−j)
=f(i−1)+∑∏i=1i−2f(j)∗Fai−2−j= f(i - 1) + \sum\prod_{i=1}^{i - 2} f(j) * F_{a_i - 2 - j}=f(i−1)+∑i=1∏i−2f(j)∗Fai−2−j
=f(i−1)+f(i−2)= f(i - 1) + f(i - 2)=f(i−1)+f(i−2)
所以f(i)=2∗f(i−1)+f(i−2)f(i) = 2 * f(i - 1) + f(i - 2)f(i)=2∗f(i−1)+f(i−2)
法二:(我觉得巨妙)
设 g[i] 为i的lqp拆分的权值和,则 g[i]=∑f[j]∗g[i−j]+f[i]g[i] = ∑f[j] * g[i-j] + f[i]g[i]=∑f[j]∗g[i−j]+f[i], 其中 g[0]=0,g[1]=1g[0] = 0, g[1] = 1g[0]=0,g[1]=1
设 A=∑f[i]∗xi,B=∑g[i]∗xiA = ∑f[i] * x^i , B = ∑g[i] * x^iA=∑f[i]∗xi,B=∑g[i]∗xi ,那么 => B=A∗B+AB = A*B + AB=A∗B+A
解一下 B ,发现 B=A/(1−A)B = A/(1-A)B=A/(1−A)
又∵ A的闭形式是 x/(1−x−x2)x/(1 - x - x^2)x/(1−x−x2) [斐波那契数的生成函数闭形式]
∴ B=x/(1−2x−x2)B = x/(1 - 2x - x^2)B=x/(1−2x−x2) ,于是直接由B的特征根 得出g[]的递推式 => g[i]=2∗g[i−1]+g[i−2]g[i] = 2*g[i-1] + g[i-2]g[i]=2∗g[i−1]+g[i−2].
转自金爷爷哈哈的题解