T3:数列
思考难度:提高?
代码难度:提高?
算法0:暴力
实际得分:0
算法1:
考虑x=y=1的情况,显然有an=an−1+an−2(废话),故
an×an+1
=an×(an+an−1)
=an2+an−1×an
=an2+an−12+an−2×an−1
=...+a22+a1×a2
=...+a22+a12+a1×(a2−a1)
故ans=an×an+1−a1×(a2−a1)
实际得分:20分
算法2:
注意到
an2=(x×an−1+y×an−2)2
=x2×an−12+y2×an−22+2xy×an−1×an−2
=x2×an−12+y2×an−22+2xy×an−2×(x×an−2+y×an−3)
=x2×an−12+y2×an−22+2xy×(x×an−22+y×an−2×an−3)
故an2可以由an−12,an−22,an−1×an−2转移过来,而an−1×an−2可以由an−12,an−2×an−3转移过来。
矩阵加速即可。
实际得分:100