当前位置: 首页 > news >正文

杭州公司建设网站制作电商网站制作

杭州公司建设网站制作,电商网站制作,荆门网站制作,毕业设计做网站简单吗一、背包问题概述 如图,完全背包与01背包的区别只有一点:01背包中每个物品只能取一个而完全背包中每个物品可以取无数个。解决完全背包问题必须首先弄明白01背包,不清楚的可以看我的这篇文章01背包—动态规划。 二、例题 重量价值物品0115物…

一、背包问题概述

请添加图片描述
如图,完全背包与01背包的区别只有一点:01背包中每个物品只能取一个而完全背包中每个物品可以取无数个。解决完全背包问题必须首先弄明白01背包,不清楚的可以看我的这篇文章01背包—动态规划。

二、例题

重量价值
物品0115
物品1320
物品2430

背包最大容量为4。

每一个物品有两个状态,“取”或者“不取”。利用回溯法可以暴力枚举所有物品的状态的排列组合状态,与背包最大容量比较就可以求得最大的价值,时间复杂是O(2n)O(2^n)O(2n)为指数级别,故需要动态规划的解法来进行优化。

三、一维数组(滚动数组)解完全背包

1. 从01背包到完全背包

由01背包—动态规划,我们可以得知一维DP数组是二维DP数组的简化。所以,二维DP数组与一维DP数组在本质上一样的,本文只介绍一维DP数组解完全背包。

对于01背包来说,内循环j是从大到小倒叙遍历的,这样做的原因是防止dp[j]前的元素被污染,避免累加的问题(每个物品只能选一次)。而对于完全背包来说,每个物品可以选择无数次,j从前向后遍历就是对每个容量j都尝试放入物品i看会不会使总价值变大,其本身并不关注放入物品i的个数。所以,完全背包与01背包的代码只有一个区别,就是j的遍历顺序。

// 01背包遍历
for(int i = 0; i < weight.size(); i++) { // 遍历物品for(int j = bagWeight; j >= weight[i]; j--) { // 遍历背包容量dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}
}
// 完全背包遍历
// 先遍历物品,再遍历背包
for(int i = 0; i < weight.size(); i++) { // 遍历物品for(int j = weight[i]; j <= bagWeight ; j++) { // 遍历背包容量dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}
}

2. 01背包与完全背包的不同—遍历顺序

01背包的遍历顺序为:

二维DP数组中,先遍历物品或先遍历背包容量都可以;

一维DP数组中,必须先遍历物品在遍历背包容量。只有这样才能确保每个物品只选一次。

对于完全背包,没有了只能选一次的限制,那么先遍历背包容量再遍历物品可不可以呢?答案是可以的。因为dp[j] 是根据下标j之前所对应的DP数组元素计算出来的。 只要保证下标j之前的DP数组都是经过计算的就可以了。图一是先遍历背包容量再遍历物品;图二是先遍历物品,再遍历背包容量。


请添加图片描述

// 先遍历物品,再遍历背包
for(int i = 0; i < weight.size(); i++) { // 遍历物品for(int j = weight[i]; j <= bagWeight ; j++) { // 遍历背包容量dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}
}// 先遍历背包,再遍历物品
for(int j = 0; j <= bagWeight; j++) { // 遍历背包容量for(int i = 0; i < weight.size(); i++) { // 遍历物品if (j - weight[i] >= 0) dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}
}
http://www.ritt.cn/news/13955.html

相关文章:

  • 网站建设相关费用网站推广关键词排名优化
  • 微信建站网站南宁百度推广代理公司
  • 那些网站分享pr做的视频深圳高端seo公司助力企业
  • 北京公司网站建设报价全网搜索指数
  • 京网站建设首选白龙马搜索引擎收录提交入口
  • 百度网盘网页版郑州seo外包阿亮
  • asp.net企业网站百度网盘破解版
  • 深圳宝安网站建设工软文推广代理
  • 搜狗站长工具百度自动搜索关键词软件
  • 物流网站建设摘要seo软件安卓版
  • 响应式网站div居中全球搜怎么样
  • 淄博网站制作公司推广百度站长收录入口
  • dedecms漏洞东莞做网站排名优化推广
  • 北京市建设委员会网站证书查询百度高级搜索首页
  • 成都免费建网站在线生成个人网站
  • 供应邯郸专业做网站武汉网站开发公司seo
  • 做汽车团购网站网络营销做得好的品牌
  • 电子商务网站建设过程自己有网站怎么推广
  • 做网站需要融资2023年5月疫情爆发
  • 免费商城网站模板百度关键词刷排名教程
  • 打开网站是iis7成都网站搜索排名优化公司
  • 北京知名的网站建设公司什么是搜索引擎优化
  • 建设工程质量+协会网站谷歌关键词工具
  • 作文网投稿网站个人网站推广平台大全
  • 杭州哪家公司做网站比较好外贸订单怎样去寻找
  • 网站制作顺序百度招聘2022年最新招聘
  • 北京网站搭建报价宁波网站推广大全
  • dw中用php做网站哈尔滨推广优化公司
  • 网站游戏下载网站增加外链的方法有哪些
  • 个人网站 可以自己做服务器2023年4 5月份疫情结束吗