动态规划入门练习题.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

动态规划入门练习题

2003-12-4大榕树

一些动态规划的入门练习题,难度不大,适合初学者练习,以便掌握动态规划这个高效算法。欢迎您

将以下各题的解答投稿至本站:drs@,标题中请包含“drs”字样。

石子合并

在一个圆形操场的四周摆放着N堆石子(N=100),现要将石子有次序地合并成一堆.规定每次只能选取相邻

的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分.编一程序,由文件读入堆栈数N及每堆

栈的石子数(=20).

(!)选择一种合并石子的方案,使用权得做N-1次合并,得分的总和最小;

(2)选择一种合并石子的方案,使用权得做N-1次合并,得分的总和最小;

输入数据:

第一行为石子堆数N;

第二行为每堆的石子数,每两个数之间用一个空格分隔.

输出数据:

从第一至第N行为得分最小的合并方案.第N+1行是空行.从第N+2行到第2N+1行是得分最大合并方案.每

种合并方案用N行表示,其中第i行(1=i=N)表示第i次合并前各堆的石子数(依顺时针次序输出,哪一堆先

输出均可).要求将待合并的两堆石子数以相应的负数表示.

输入输出范例:

输入:

4

4594

输出:

-459-4

-8-59

-13-9

224-5-94

4-14-4

-4-18

22

最小代价子母树设有一排数,共n个,例如:2214713261511.任意2个相邻的数可以进行归并,归并的

代价为该两个数的和,经过不断的归并,最后归为一堆,而全部归并代价的和称为总代价,给出一种归并算法,

使总代价为最小.

输入、输出数据格式与“石子合并”相同。

输入样例:

4

125164

输出样例:

-12-5164

17-16-4

-17-20

37

背包问题设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,

最大载重量为XK,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于X

K,而价值的和为最大。

输入数据:

第一行两个数:物品总数N,背包载重量XK;两个数用空格分隔;

第二行N个数,为N种物品重量;两个数用空格分隔;

第三行N个数,为N种物品价值;两个数用空格分隔;

输出数据:

第一行总价值;

以下N行,每行两个数,分别为选取物品的编号及数量;

输入样例:

410

2347

1359

输出样例:

12

21

41

商店购物

某商店中每种商品都有一个价格。例如,一朵花的价格是2ICU(ICU是信息学竞赛的货币的单位);一个花

瓶的价格是5ICU。为了吸引更多的顾客,商店提供了特殊优惠价。特殊优惠商品是把一种或几种商品分

成一组。并降价销售。例如:3朵花的价格不是6而是5ICU;2个花瓶加1朵花是10ICU不是12ICU。

编一个程序,计算某个顾客所购商品应付的费用。要充分利用优惠价以使顾客付款最小。请注意,你不能

变更顾客所购商品的种类及数量,即使增加某些商品会使付款总数减小也不允许你作出任何变更。假定各

种商品价格用优惠价如上所述,并且某顾客购买物品为:3朵花和2个花瓶。那么顾客应付款为14ICU因为:

1朵花加2个花瓶:优惠价:10ICU

2朵花正常价:4ICU

输入数据

用两个文件表示输入数据。第一个文件INPUT.TXT描述顾客所购物品(放在购物筐中);第二个文件描

述商店提供的优惠商品及价格(文件名为OFFER.TXT)。两个文件中都只用整数。

第一个文件INPUT.TXT的格式为:第一行是一个数字B(0≤B≤5),表示所购商品种类数。下面共B行,

每行中含3个数C,K,P。C代表商品的编码(每种商品有一个唯一的编码),1≤C≤999。K代表该种商

品购买总数,1≤K≤5。P是该种商品的正常单价(每件商品的价格),1≤P≤999。请注意,购物筐中最多可

放5*5=25件商品。

第二个文件OFFER.TXT的格式为:第一行是一个数字S(0≤S≤99),表示共有S种优惠。下面共S行,

每一行描述一种优惠商品的组合中商品的种类。下面接着是几个数字对(C,K),其中C代表商品编码,

1≤C≤999。K代表该种商品在此组合中的数量,1≤K≤5。本行

文档评论(0)

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

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

版权声明书
用户编号:8036067046000055

1亿VIP精品文档

相关文档