- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[算法合集之浅析倍增思想在信息学竞赛中的应用
浅析倍增思想在信息学竞赛中的应用
安徽省芜湖市第一中学 朱晨光
目 录
摘要 2
关键字 2
正文 2
引言 2
应用之一 在变化规则相同的情况下加速状态转移 2
应用之二 加速区间操作 8
一个有趣的探讨 11
总结 12
感谢 12
参考文献 13
附录 13
摘要
倍增思想是解决信息学问题的一种独特而巧妙的思想。本文就倍增思想在信息学竞赛中两个方面的应用进行了分析。全文可以分为五个部分:
第一部分引言,简要阐述了倍增思想的重要作用以及运用方法;
第二部分介绍倍增思想的第一个应用——在变化规则相同的情况下加速状态转移;
第三部分介绍倍增思想的第二个应用——加速对区间进行的操作;
第四部分探讨了一个有趣的问题,即为什么倍增思想每次只将考虑范围扩大一倍而不是两倍、三倍等;
第五部分总结全文,再次指出倍增思想的重要性以及应该怎样灵活运用倍增思想。
关键字
倍增思想 变化规则 状态转移 区间操作
正文
引言
倍增思想是一种十分巧妙的思想,在当今的信息学竞赛中应用得十分广泛。尽管倍增思想可以应用在许多不同的场合,但总的来说,它的本质是:每次根据已经得到的信息,将考虑的范围扩大一倍,从而加速操作。大家所熟悉的归并排序实际上就是倍增思想的一个经典应用。
在解决信息学问题方面,倍增思想主要有这两个方面的应用——
在变化规则相同的情况下加速状态转移;
加速区间操作。
下文将就这两个方面进行详细的讨论。
倍增思想应用之一 在变化规则相同的情况下加速状态转移
首先,让我们来看一个简单的例子——已知实数a,计算a17。
分析:
很显然,一种最简单的方法就是令b=a,然后重复16次进行操作b=b*a.这样,为了得到a17,共进行了16次乘法。
现在考虑另外一种方法,令a0=a,a1=a2,a2=a4,a3=a8,a4=a16,可以看出,ai=ai-12,(1=i=4)。于是,得到a0,a1,a2,a3,a4共需要4次乘法。而a17= a*a16=a0*a4,
也就是说,再进行一次乘法就可以得到a17.这样,总共进行5次乘法就算出了a17.
如果将这种方法推而广之,就可以解决这样一个一般性的例题:
已知,计算:
分析:
将n表示成为二进制形式并提取出其中的非零位,即n=2b1+2b2+……+2bw,不妨设b1b2……bw.
由于已知,所以也就知道了,重复bw次将这个数平方并记录下来,就可以得到(bw+1)个数:,,,……,;
根据幂运算的法则,可以推出==**……*,而这些数都已经被求出,所以最多再进行(bw+1)次操作就可以得到。
由于n的二进制表示最多有个非零位,所以bw最大为。也就是说,最多进行O()次乘法就可以算出,这比进行O(n)次乘法效率高得多。
当然,由于得到n的二进制表示的过程本身就是按照从低位到高位的顺序,所以并不需要记录,,,……,,只需要每次即算即用就可以了。伪代码如下(见下页):
那么,这个算法是如何减少乘法次数的呢?显然,==**……*使得求转化为求不超过个a的幂的积。而序列,,,……,中除了第一个数以外,每一个数都是前一个数的平方。即在从得到的过程中,按照原始的方法需要进行2i次乘法操作,而现在只需要利用已知结果进行一次乘法操作(*=)即可。大大减少了操作次数,从而降低了时间复杂度。
而在实际情况中,a可能是一个实数,也可能是一个矩阵或是一个抽象的状态。变化规则也可能是其他操作(如矩阵乘法、动态规划的状态转移等)。但是只要符合以下两个条件,就可以应用倍增思想并采用类似于上面的方法加速计算:
每次的变化规则必须相同;
变化规则必须满足结合律。
具体到上面的例子,每次的变化规则都是乘法,而乘法是满足结合律的。
下面将通过另一个例子更加深入地探讨倍增思想在加速状态转移方面的应用,同时得到更精确的定义。
例2、骰子的运动
给定一个六个面的骰子,每个面上都有一定的权值(1到50之间的整数)。骰子运动的范围是一个宽度为4,向左右无限延伸的带子(如图1.1)。带子从左到右的横坐标值为……,-3,-2,-1,0,1,2,3,……,从前到后的纵坐标值依次为1,2,3,4(这里的坐标对应的都是格子,而不是点)。这样,带子被分成了无限多个格子。每个格子恰好能与骰子的一个面完全重合。骰子每次可以向前后左右中的一个方向移动一格(但不能移出带子),花费是移动后朝上的面所附带的权值。
给定当前骰子位置的坐标与各个面的朝向,求将这个骰子移动到某个新位置所需的最小花费。(所给横坐标的绝对值小于等于109)。
分析:
如果不考虑横坐标巨大的差值,本题完全可以用动态规划求解。方法是将每一格按照骰子的朝向拆分成24种状态,然后按列进行动态规划(本质上是一个分层图)得到最小花费。具体方法是从第
您可能关注的文档
- [第二章有哪些信誉好的足球投注网站引擎优化和营销1.doc
- [无敌英语语法高中-句子成分分析.doc
- [第二章昆虫行为学中的一些基本概念和基本行为型文字.doc
- [第二章第三节社会行为.doc
- [无机化学-定量分析概论试题.doc
- [第二章继承爱国传统弘扬民族精神4学时.doc
- [第二章学案完整版.doc
- [无机化学题库.doc
- [第二篇宝玉石各论.doc
- [无机框图题特征反应及性质总结.doc
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
最近下载
- 新解读《HJ_T 55 - 2000大气污染物无组织排放监测技术导则》必威体育精装版解读.docx VIP
- 影视后期调色-02达芬奇基本操作.pptx VIP
- 人教版四年级下册音乐全册教案.pdf VIP
- 2025年中式烹调师(技师)考试内容及考试题库含答案参考.docx VIP
- 必威体育精装版基孔肯雅热防控培训课件.ppt VIP
- 民俗博物馆文物建筑修缮工程施工组织设计2.doc
- 上海海洋大学《基础化学》课件-物质结构.ppt VIP
- 《中国科技创新盛宴》课件.ppt VIP
- (推荐!)13485-2016医疗器械变更控制程序.docx VIP
- ISO14001组织内外部环境要素识别表.pdf VIP
文档评论(0)