完全背包问题.pptxVIP

  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文档。上传文档
查看更多
完全背包问题概要

完全背包问题;完全背包问题(knapsack.pas)描述: 设有 n 种物品,每种物品有一个重量及一个价值,且每种物品的数量是无限的。同时有一个背包,,背包的最大载重量为 m 。请你从这 n 种物品中选取若干件(同一种物品可以多次选取)装入背包中,使其总重量不超过 m ,而价值总和最大。 输入格式:knapsack.in 第一行:两个整数 m(背包容量)和 n(物品数量)。(m≤200,n≤30) 接下来的 n 行:每行两个整数 wi(第 i 个物品的重量)和 ui(第 i 个物品的价值)。wi≤200,ui≤500 输出格式:knapsack.out 一个整数,表示最大总价值。输入数据保证结果小于10000。;基本思路: 完全背包问题与01背包问题非常相似,唯一不同的是每种物品可选无限件。也就是说,每种物品的策略不再是取或不取两种,而是取0件,1件,2件等很多种。 与01背包问题类似,如果用 f[i,v] 表示前 i 件物品恰放入容量为 v 的背包,用 k 表示第 i 种物品的数量,则可写出状态转移方程: f[i,v]=max{ f [ i-1 , v-k*w[i] ]+k*u[i] | 0≤k*w[i]≤v}。 ; 那么,是不是这样就好了呢?; 让我们来回顾一下之前的01背包问题:; 类似地,我们也可以运用一维数组来做完全背包问题。理解一下下面的伪代码:; 回想一下,01背包问题为什么要逆序循环?这是因为每样物品只能选一次。对于每一个 i, f[v]:=max(f[v],f[v-w[i]]+u[i]) v 由大到小循环,而 v-w[i] 始终小于 v,这就保证了推每一个f[v]时,所用的f[v-w[i]]都是上一个i的,也就避免了重复选择物品。 而完全背包问题有无限件物品可选,正好需要v正序循环。;最小乘车费用 busses.pas 问题描述: 某条街上每一公里就有一汽车站,乘车费用如下表:;货币系统 money.pas 问题描述 母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统,它们对货币的数值感到好奇。母牛想知道有多少种不同的方法来用货币系统中的货币来构造一个确定的数值。给出n种面值的货币系统,请你帮母牛们求出组成面值为m的货币有多少种方案。 输入文件:money.in 第一行为两个整数n和m,分别表示货币面值种??和要求组成的货币总面值;接下来n行表示货币的每种面值ai。n≤20,m≤4000,ai≤3000 输出文件:money.out 一个整数,表示方案数。(可能需使用qword) 输入样例: 3 10 1 2 5 输出样例: 10

文档评论(0)

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

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

1亿VIP精品文档

相关文档