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