区间合并类型动态规划.pdf

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

6. 区间、合并类型动态规划  合并:意思就是将两个或多个部分进行整 合,当然也可以反过来,也就是是将一个 问题进行分解成两个或多个部分。  特征:能将问题分解成为两两合并的形式  求解:对整个问题设最优值,枚举合并点, 将问题分解成为左右两个部分,最后将左 右两个部分的最优值进行合并得到原问题 的最优值。有点类似分治算法的解题思想。  典型试题:整数划分,凸多边形划分、石 子合并、多边形合并、能量项链等。  在一园形操场四周摆放N堆石子(N≤100);  现要将石子有次序地合并成一堆;  规定每次只能选相临的两堆合并成一堆, 并将新的一堆的石子数, 记为 该次合并的得分。  选择一种合并石子的方案,使得做N-1 次合并,得分的总和最少  选择一种合并石子的方案,使得做N-1 次合并,得分的总和最大 N=5 石子数分别为3 4 6 5 4 2 。 用贪心法的合并过程如下: 然而有更好的方案: 第一次3 4 6 5 4 2得分5 第一次3 4 6 5 4 2得分7 第二次5 4 6 5 4得分9 第二次7 6 5 4 2得分13 第三次9 6 5 4得分9 第三次13 5 4 2得分6 第四次9 6 9得分15 第四次13 5 6得分11 第五次15 9得分24 第五次13 11得分24 第六次24 第六次24 总分:62 总分:61 显然,贪心法是错误的。  假设只有2堆石子,显然只有1种合并方案  如果有3堆石子,则有2种合并方案,((1,2),3)和(1,(2,3))  如果有k堆石子呢?  不管怎么合并,总之最后总会归结为2堆,如果我们把最 后两堆分开,左边和右边无论怎么合并,都必须满足最优 合并方案,整个问题才能得到最优解。如下图:  设t[i,j] 表示从第i堆到第j 堆石子数总和。  Fmax(i,j)表示将从第i堆石子合并到第j 堆石子的最大的得分  Fmin(i,j)表示将从第i堆石子合并到第j 堆石子的最小的得分 F max( i,j ) max {F max( i,k) F max( k 1,j ) t[i,j ]} ik j 1  同理, F min(i,j ) min {F min(i,k) F min(k 1,j ) t[i,j ]} ik j 1  Fmax[i,i] = 0 ,Fmin[i,i] = 0 3  时间复杂度为O(n )  由于石子堆是一个圈,因此我们可以枚举分开的位置,首 4 先将这个圈转化为链,因此总的时间复杂度为O(n ) 。  这样显然很高,其实我们可以将这条链延长2倍,扩展成 2n-1堆,其中第1堆与n+1堆完全相同,第i堆与n+i堆完全相 同,这样我们只要对这2n堆动态规划后,枚举 f(1,n),f(2,n+1),…,f(n,2n-1)取最优值即可即可。 3  时间复杂度为O(8n ),如下图:  给定由N顶点组成的凸多边形  每个顶点具有权值  将凸N边形剖分成N-2个三角形  求N-2个三角形顶点权值乘积之和最小?  样例  上述凸五边形分成△123 ,△135 ,△345  三角形顶点权值乘积之和为:  121*122*123+121*123*231+123*245*231=  性质:一个凸多边形剖分一个三角形后, 可以将凸多边形剖分成三个部分:  一个三角形  二个凸多边形(图2可以看成另一个凸多边

文档评论(0)

136****3783 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档