- 1、本文档共175页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析-3资料
10 22 9 4 15 36 27 v7 v1 v2 v3 v4 v5 v6 + + * * * * 2 3 4 5 6 7 Step1: 10 22 v7 v1 + 1 v7 Step2: 10 22 v7 v1 + 1 32 v17 10 22 9 4 15 36 27 v1 v2 v3 v4 v5 v6 + + * * * * 2 3 4 5 6 7 Step2: 32 v17 9 4 15 36 27 v2 v3 v4 v5 v6 + + * * * * 2 3 4 5 6 7 顶点减为6个 Step3: v17 32 9 4 15 36 27 v2 v3 v4 v5 v6 + * * * * 2 3 5 6 7 4 15 v3 v4 + 4 19 v34 Step3: v17 32 9 36 27 v2 v5 v6 + * * * * 2 3 5 6 7 19 v34 顶点减为5个 多边形游戏 游戏的得分/最优值: 最后所剩顶点上的整数值 目标:最大化最后所剩顶点上的整数值 问题解的结构: 不同的删除边、合并顶点的顺序 最优子结构性质 问题形式化表述p(i,j) : 在所给多边形中,从顶点i(1≤i≤n)开始,长度为j(链中有j个顶点)的顺时针链p(i,j) 可表示为: v[i], op[i+1], …, op[i+j-2], v[i+j-1] e.g. i=2, j=5 p(2,5): v2, *, v3, +, v4, *, v5, +, v6 op[3+1]=‘+’, 9 4 15 36 27 v2 v3 v4 v5 v6 + + * * 3 4 5 6 如果这条链的最后一次合并运算在op[i+s]处发生(1≤s≤j-1),则可在op[i+s]处将链p(i,j)分割为2个子链: 1)p(i,s) 2)p(i+s, j-s) E.g. i=2, j=5 , s=2, op[i+2]=op[4]=op[3+1]=‘+’ 2) p(i,s)=p(2,2): v2, *, v3 3) p(i+s, j-s)=p(4, 3): v4, *, v5, +, v6 P(i, s) 与子链的关系——由2条子链合并而成 9 36 27 v2 v5 v6 + * * * 3 5 6 19 v34 9 4 15 36 27 v2 v3 v4 v5 v6 + + * * 3 4 5 6 p(i,s)=p(2,2) m1= 36 p(i+s, j-s)=p(4, 3) m2=max {(36+27)*15, 27+36*15} 最优子结构性质 设m1是对子链p(i,s)的任意一种合并方式得到的值,而a和b分别是在所有可能的合并中得到的最小值和最大值。 e.g. p(i,s)=p(2,2), m1=9*4=36 m2是p(i+s,j-s)的任意一种合并方式得到的值,而c和d分别是在所有可能的合并中得到的最小值和最大值。 e.g. p(i+s, j-s)=p(4, 3), 15*36 +27 ≤ m2 ≤ (27+36)*5 依此定义有a≤m1≤b,c≤m2≤d 最优子结构性质 子链p(i,s)和p(i+s,j-s)的合并方式决定了p(i, j)在op[i+s]处断开后的合并方式,在op[i+s]处合并后其值为 m=(m1) op[i+s] (m2) e.g. op[i+s] =op[2+2]=op[3+1]=‘+’, 有以下性质: (1)当op[i+s]=+时,显然有a+c≤m≤b+d (2)当op[i+s]=*时,有min{ac,ad,bc,bd}≤m≤max{ac,ad,bc,bd} 换句话说,主链的最大值和最小值可由子链的最大值和最小值得到。 递归求解 需要同时求子链P(i, j)=v[i], op[i+1], …, op[i+j-2], v[i+j-1]合并的最大最小值 最优化目标: m[i,j,0]:p(i,j)合并的最小值 m[i,j,1]: p(i,j)合并的最大值 最优合并在op[i+s]处将p(i,j)分为2个长度小于j的子链p(i,s)和p(i+s, j-s) 记2个子链合并后的最大最小值为 a= m[i, i+s, 0], b= m[i, i+s, 1] c= m[i+s, j-s, 0], d= m[i+s, j-s,
您可能关注的文档
最近下载
- 2024年中级社工法规四色讲义-完整版全189页 .pdf VIP
- 17K408:散热器选用与管道安装.docx VIP
- 2025年湖北省武汉市高考物理四调试卷+答案解析(附后) .pdf VIP
- 合信 COTRUST科创思CTSC-200系列用户手册V1.40.pdf
- 2012湖南公务员考试-公共基础知识.doc VIP
- 二年级语文教师家长会专用.ppt
- 杭州名鑫双氧水有限公司每年10万吨(折27.5%)过氧化氢技术改造项目可行性研究报告.doc
- DB14Z 1-2025 高速公路智慧服务区建设指南.docx
- [城市轨道交通地下段列车运行引起的住宅室内振动与结构噪声限值及测量方法上海市.doc VIP
- SR变更管理程序+变更全套表单 OK.doc
文档评论(0)