鄂教版信息技术九下第6课《逐一罗列穷举算法》.pptVIP

鄂教版信息技术九下第6课《逐一罗列穷举算法》.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
if (v * t - 5 * t * t) - (y[k] - y[i]) 1e-6 then begin{如果该时刻的竖直坐标增量大于起点到顶点k的竖直坐标增量,则抛物线在上方} ok ← false; break; end;{then} end;{for} if ok then best ← j {若跳远成功,则三角形j为目前三角形i所能到达的最远点,否则跳远不能完成} else break; end;{for} write(best, );{输出从三角形i的顶点出发所能到达的最右的三角形编号) end;{for} writeln; end.{main} 立方体问题 现有一个棱长为n的立方体,可以分成n3个1*1*1的单位立方体。每个单位立方体都有一个整数值。n3个单位立方体的数和不会超过longint范围。现在要求在这个立方体找到一个包含完整单位立方体的长方体,使得该长方体内所有单位立方体的数和最大。 输入: n(1≤n≤20);n个n*n的数字矩阵,每个数字矩阵代表一层,每个数字代表一个单位立方体的整数值,-999≤单位立方体的整数值≤999 输出:长方体的数和 1、“直译”枚举过程 for x1←1 to n do {枚举所有可能的平面} for x2←1 to n do for y1←1 to n do for y2←1 to n do for z1←1 to n do {枚举所有可能的上平面和下底面} for z2←1 to n do 考察状态(x1,y1,z1,x2,y2,z2); 考察状态(x1,y1,z1,x2,y2,z2)的任务是计算长方体的体积,并调整最优解。设map为立方体对应的三维矩阵;sum为当前长方体的体积;best为最优解。考察过程如下 sum←0; for x←x1 to x2 do {计算长方体的体积} for y←y1 to y2 do for z←z1 to z2 do sum←sum+map[x,y,z]; {调整最优解} if sumbest then best←sum; 这个算法相当粗糙,枚举状态的费用为O(n9) 2、从减少重复计算入手 记录先前考察的结果。在统计长方体2时,只要将长方体1的统计结果加上长方体3就可以了,而不必按上述算法那样重新进行计算。 for x1←1 to n do {枚举所有可能的水平面} for x2←1 to n do for y1←1 to n do for y2←1 to n do for z1←1 to n do {枚举上平面的z轴坐标} begin sum←0; {长方体的体积初始化} for z2←1 to n do {枚举下底面的z轴坐标} 考察状态(x1,y1,z1,x2,y2,z2); end;{for} 考察过程改为 for x←x1 to x2 do {计算长方体的体积} for y←y1 to y2 do sum←sum+map[x,y,z2]; if sumbest then best←sum; {调整最优解} 由于利用了计算出的结果,整个算法的时间复杂度降为O(n8)。 3、提取恰当的信息 上述考察实际上求出z轴坐标为z2的平面中矩形(x1,y1,x2,y2)的数和。我们将这个数和记为value(a) value(A) =value(ABCD)+value(B)-value(BC)-value(BD) 这就启发我们用另一种方法表示立方体的信息:设rec[x,y,z]表示z轴坐标为z的水平面中矩形(1,1,x,y)的数和

文档评论(0)

sunache + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档