zoukankan      html  css  js  c++  java
  • 数论出题组比赛用题:数列

    T3:数列

    思考难度:提高?

    代码难度:提高?

    算法0:暴力

    实际得分:0

    算法1:

    考虑x=y=1x=y=1的情况,显然有an=an1+an2a_n=a_{n-1}+a_{n-2}(废话),故

    an×an+1a_n imes a_{n+1}

    =an×(an+an1)=a_n imes (a_n+a_{n-1})

    =an2+an1×an=a_n^2+a_{n-1} imes a_n

    =an2+an12+an2×an1=a_n^2+a_{n-1}^2+a_{n-2} imes a_{n-1}

    =...+a22+a1×a2=...+a_2^2+a_1 imes a_2

    =...+a22+a12+a1×(a2a1)=...+a_2^2+a_1^2+a_1 imes (a_2-a_1)

    ans=an×an+1a1×(a2a1)ans=a_n imes a_{n+1}-a_1 imes (a_2-a_1)

    实际得分:20分

    算法2:

    注意到

    an2=(x×an1+y×an2)2a_n^2=(x imes a_{n-1}+y imes a_{n-2})^2

    =x2×an12+y2×an22+2xy×an1×an2=x^2 imes a_{n-1}^2+y^2 imes a_{n-2}^2+2xy imes a_{n-1} imes a_{n-2}

    =x2×an12+y2×an22+2xy×an2×(x×an2+y×an3)=x^2 imes a_{n-1}^2+y^2 imes a_{n-2}^2+2xy imes a_{n-2} imes (x imes a_{n-2}+y imes a_{n-3})

    =x2×an12+y2×an22+2xy×(x×an22+y×an2×an3)=x^2 imes a_{n-1}^2+y^2 imes a_{n-2}^2+2xy imes (x imes a_{n-2}^2+y imes a_{n-2} imes a_{n-3})

    an2a_n^2可以由an12,an22,an1×an2a_{n-1}^2,a_{n-2}^2,a_{n-1} imes a_{n-2}转移过来,而an1×an2a_{n-1} imes a_{n-2}可以由an12,an2×an3a_{n-1}^2,a_{n-2} imes a_{n-3}转移过来。

    矩阵加速即可。

    实际得分:100

  • 相关阅读:
    纯代码frame位移和伸缩
    纯代码-QQ登陆练习
    IOS学习笔记 -- 基础
    LoadRunner接口脚本web_submit_data编写过程中遇到的问题及分享
    Win10系统下安装Oracle服务器和Oracle客户端
    Liunx上传下载和压缩问题分享
    LoadRunner接口工作总结
    分享网上搜到的Oracle中对判定条件where 1=1的正解
    LoadRunner接口测试Error -27225报错解决
    LoadRunner压力测试之Unique Number参数类型、Random Number参数类型浅析
  • 原文地址:https://www.cnblogs.com/ShineEternal/p/10834258.html
Copyright © 2011-2022 走看看