算法合集之《运用化归思想解决信息学中的数列问题》[精选].ppt

算法合集之《运用化归思想解决信息学中的数列问题》[精选].ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法合集之《运用化归思想解决信息学中的数列问题》[精选]

化归 就是转化和归结 化归方法的要素 化归对象 即对什么东西进行化归 化归目标 即化归到何处去 化归途径 即如何进行化归 Dispute (Ural 1309) Dispute (Ural 1309) Dispute (Ural 1309) 算法一 预处理,求出数列F的所有项 将所有的F100000k保存下来 当给定N的时候,我们可以先找到离N最接近的一项F100000k 简单的递推即可解决 算法一不能胜任 Dispute (Ural 1309) 再次观察数列 函数gx,y 的特点: gx,y =((y-1)*x5+x3-xy+3x+7y) mod 9973 1、所有项y的指数非0即1 2、式子的最后取模了一个质数9973 性质1 把x看作一个常数,整理后可得: gx,y=((x5-x+7)y +(-x5+x3+3x)) mod 9973 数列Fn是个1阶线性递推数列。 联想:计算常系数线性递推数列的第N项可以利用矩阵乘法的方法 调整化归目标:看看能否通过合理的分段,将数列变成常系数线性递推数列。 性质2 令M=9973 则有常数A,B使得: Fkm=A*F(k-1)m+B, 其余三道例题 ABS序列(Top Coder SRM 369 - Div 1 - 500 Points) Count(NOI2007) Maximum. Version 2(Ural 1396) 总结 性质2的证明 令Ui=(j5-j+7) mod M, Vi=(-j5+j3+3*j) mod M, j=i mod M + 1 Fi+1= Ui *Fi+Vi FKM+1=(UKM+1*FKM+VKM+1) mod M FKM+2=(UKM+2*FKM+1+VKM+2) mod M FKM+3=(UKM+3*FKM+2+VKM+3) mod M …… F(K+1)M=(U(K+1)M*F(K+1)M-1+V(K+1)M) mod M 性质2的证明 F(K+1)M=(U(K+1)M*F(K+1)M-1+V(K+1)M) mod M =(U(K+1)M*(U(K+1)M-1*F(K+1)M-2+V(K+1)M-1 )+V(K+1)M) mod M =(U(K+1)M*U(K+1)M-1*F(K+1)M-2+U(K+1)M*V(K+1)M-1+V(K+1)M) mod M 性质2的证明 F(K+1)M=(A*FKM+B) mod M Ui=(j5-j+7) mod M=Ui=U(i+M) Vi=(-j5+j3+3*j) mod M=Vi=V(i+M) A,B为定值 计算常系数线性递推数列的第N项 矩阵乘法: 两个矩阵A,B,A=(ai,j)n*m,B=(bi,j)m*t 复杂度:O(NMT) 满足结合律,即 计算常系数线性递推数列的第N项 递推数列 一个数列的连续项之间的关系叫递推关系,由递推关系确定的数列叫递推数列 常系数线性递推数列 由初始值和方程an+k=F(an+k-1,…,an)的数列{an}称为k阶递推数列 特别的,当方程形如下式的时候数列{an}称为k阶常系数线性递推数列。 an+k=c1an+k-1+c2an+k-2+…+ckan+f(n),这里c1,c2…ck为常数,其中ck≠0 如果f(n)=0,那么数列{an}称为k阶常系数齐次线性递推数列。 计算常系数线性递推数列的第N项 以广义Fibonacci数列为例: F1=a,F2=b,FN=FN-1+FN-2 观察数列前几项: F3=F1+F2=a+b F4=F2+F3=F2+(a+b)=a+2b F5=F3+F4=(a+b)+(a+2b)=2a+3b …… 数列的任意一项都是由若干个a与b相加组成的!!! 计算常系数线性递推数列的第N项 用矩阵乘法解决: * * 福建省福州市第一中学 余林韵 1、1、1、2、1 1、1、1、2、1 …… 2006,2007,2008,2009…… 问题甲 比较容易解决的问题乙 数列Fn满足: 其中 给定n,求解Fn。 数据规模 0=N=108 拓展 Dispute (Ural 1309) Dispute (Ural 1309) * * *

文档评论(0)

dart002 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档