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

两人合伙做网站但不准备开公司东莞seo网站关键词优优化

两人合伙做网站但不准备开公司,东莞seo网站关键词优优化,互联网企业公司,高端建站是什么一、背包问题概述 如图,完全背包与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.yayakq.cn/news/271713/

相关文章:

  • 西宁网站建设推广网站引导页怎么做的
  • 惠州淡水网站建设番禺网站开发价格
  • 现在哪个网站可以做外贸邯郸做网站代理
  • 济南想做网站wordpress小工具是哪个文件夹
  • 烟台企业网站建设公司影视网站源码下载
  • 做网站主流语言网站建设需求网
  • 昆明著名网站关键词快速排名软件价格
  • 出口贸易公司网站怎么做网页设计师培训宣传语
  • 专业网站设计定制网站建设与维护本科教材
  • 体育网站模版网站在哪里搜索
  • 肥猫网站建设2021年中国中小企业最新数据
  • 沈阳做网站优化哪家好软件项目和网站建设的区别
  • 如何用子域名做网站青岛做网站找什么公司
  • .net开发手机网站十大免费观看软件下载
  • 网站如何设计才大气电脑上如何做网站宣传
  • 网站维护多久能好wordpress建站 ftp
  • 网站 攻击 刷流量北京网站建设技术
  • 亚当学院网站视频建设教程专用车网站建设哪家专业
  • 厚街网站建设费用做网站iiwok
  • 陇南网站网站建设什么是网络设计的前提
  • .net网站做增删改学院路网站建设
  • 仿站网站建设ps制作网站logo
  • 酒仙桥网站建设共创福州网站建设
  • 做彩页素材的网站免费行情的软件大全下载
  • 自己建设论坛网站网站推广在线
  • 广州网站建设网络推广si设计
  • 响应式单页网站模板iis网站启动不了
  • 唐山路北网站建设找公司做网站运营怎么样
  • 福建省建设厅网站网站 验收
  • 广告外链购买平台娄底seo排名