动态规划0起点基础题目.docxVIP

  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文档。上传文档
查看更多
【例 0】斐波那契数列求和( fib.cpp ) 我们已知的斐波那契序列,其中: a0 = 1 a1 = 1 an = an-1 + an-2 试对数列进行求和,倒序输出前十五项: S15, S14, S13, ... S1。 (推荐用数组进行存储) Answer: 1596 986 609 376 232 143 88 54 33 20 12 7 4 2 1 【例 1】最大连续子序列的和。( maxsum.cpp ) 〖问题描述〗 给定由 N( N=1000 )个整数组成的序列。求出其中最大连续子序列的和。 〖输入文件〗 文件名: maxsum.in 文件第一行为一个整数 N,第二行为N个用空格分开的整数。 〖输出文件〗 文件名: maxsum.out 文件中只有一个整数,就是最大连续子序列的和。 〖样例输入〗 10 3 -2 -7 8 9 12 -7 -1 10 -3 〖样例输出〗 31 【例 2】路径总数。( path.cpp ) 【问题描述】 B 点。如下图所示, 某个街区的道路为网格形状。 小华要从最左上角的 A B 点。 若她只能向下或是向右走,那么,一共有多少条不同的路径可以选择? 【输入文件】 文件名: path.in 文件中有两个整数 M和N,分别表示水平道路的条数和竖直道路的 条数。 【输出文件】 文件名: path.out 文件中只有一个整数,表示从最上角的走到最右下角的不同的路径的条数。 【样例输入】 4 6 【样例输出】 【例 3】可行路径。( path.cpp ) 【问题描述】 如下图所示, 某个街区的道路为网格形状, 但由于某些原因, 街区中的一些路口已经不能通 行了。小华要从最左上角的 A 点走到最右下角的 B 点。若她只能向下或是向右走,那么, 一共有多少条不同的 路径可以选择? 【输入文件】 文件名: path.in 文件第一行有三个整数 M、N (和P,分别表示水平道路的条数、竖直道路的条数以及不能 通行的路口的个数。之后P行,每行一对整数,分别表示不能通行的路口所在的行数及列数, 已知,这个路口不会在起点和终点。 【输出文件】 文件名: path.out 文件中只有一个整数,表示从最上角的走到最右下角的不同的路径的条数。 【样例输入】 4 7 3 3 7 4 【样例输出】 例 4】数字正方形( message.cpp ) 问题描述〗 有一个数字正方形,如: 3 9 9 6 1 8 2 3 3 每走到一个格子都会有一个得分, 现从左上到右下, 每次只能向右或向下走一个格, 如 上图最好的路径是右t右t下t下,可得 32分,现试求最大得分 〖输入文件〗 第一行表示正方形边长 n 接下来 n 行,每行 n 个数 表示每个格子的得分 〖输出文件〗 输出一个数,最大总得分 〖样例输入〗 3 3 9 9 6 1 8 2 3 3 〖样例输出〗 【例 5.0】接苹果 〖问题描述〗 现在有 n 棵一字排开的苹果树, 每个时刻有且仅有一棵树会掉苹果下来。 你可以开始选 中一颗苹果树站在树下, 每个时刻前你可以选择停留在原地或者移动到任意一棵树下 (移动 后仍然可以接到该时刻的苹果) 。如果掉苹果的时刻你正在掉苹果的树下, 那么掉下的苹果 就是你的啦,可是你能移动的次数有限,所以你想知道最多能接到多少个苹果? 【例 5.1】接苹果 〖问题描述〗 现在有 n 棵一字排开的苹果树, 每个时刻有且仅有一棵树会掉苹果下来。 你可以开始选 中一颗苹果树站在树下, 每个时刻前你可以选择停留在原地或者移动到旁边一棵树下 (移动 后可以接到该时刻的苹果) 。如果掉苹果的时刻你正在掉苹果的树下, 那么掉下的苹果就是 你的啦,可是你能移动的次数有限,所以你想知道最多能接到多少个苹果? 【例 5.2】移动接苹果 〖问题描述〗 现在有 n 棵一字排开的苹果树, 每个时刻有且仅有一棵树会掉苹果下来。 你可以开始选 中一颗苹果树站在树下, 每个时刻前你可以选择停留在原地或者花费该时间移动到旁边一棵 树下(移动后不能接到该时刻的苹果)。 如果掉苹果的时刻你正在掉苹果的树下, 那么掉下 的苹果就是你的啦,可是你能移动的次数有限,所以你想知道最多能接到多少个苹果? 例如:苹果树有 2 棵,掉苹果的序列为 2 1 1 2 2 1 1,你能移动的次数为 2次。 第 1 个时间,你选择站在 1 树下,第一颗苹果你没有接到。 第 2 个时间,你选择不动,那么可以接到第 2 颗苹果。 第 3 个时间,你选择不动,那么可以接到第 3 颗苹果。 第 4 个时间,你选择移动到 2 树下。 第 5 个时间,你选择不动,那么可以接到第 5 颗苹果。 第 6 个时间,你选择移动到 1 树下。 第 7 个时间,你选择不动,那么可以接到第 7 颗苹果。 所以你在只移

文档评论(0)

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

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

1亿VIP精品文档

相关文档