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

毕设做购物网站系统的原因互联网营销顾问是做什么的

毕设做购物网站系统的原因,互联网营销顾问是做什么的,有哪些做企业点评的网站,网上国网推广方法01背包(滚动数组方法) 学习资料:代码随想录 (programmercarl.com) 题目链接(和上次一样):题目页面 (kamacoder.com) 思路 使用一维滚动数组代替二维数组。二维数组的解法记录在:代码随想录算…

01背包(滚动数组方法)

学习资料:代码随想录 (programmercarl.com)

题目链接(和上次一样):题目页面 (kamacoder.com)

思路

使用一维滚动数组代替二维数组。二维数组的解法记录在:代码随想录算法训练营第四十五天(动态规划篇)|01背包-CSDN博客

1. dp[j]定义

容量为j的背包可以背的物品的最大价值。

2. 递推公式

dp[j] = max(dp[j], dp[j - weight[i]] + value[i])

3. 初始条件:

dp[0] = 0, 根据递推公式,dp[j]取当前和前面的值的最大值,题目给的价值都是正整数,那么非0下标都初始化为0就可以了。

4. 遍历顺序

先遍历物品,再从大到小遍历背包。之所以要从大到小遍历,是为了防止物品被重复放入。 

e.g. i = 0: dp[1] = 15, dp[2] = max(dp[2] = 0, dp[2-weight[1]] + value[1] = dp[1] + value[1] = 15 + 15 = 30)。 而当从后往前遍历时, i = 0: dp[4] = 15 dp[3] = max(0, dp[2] + value[0]) = max(0, 0 + 15) = 15,是正确的。

二维数组可以从小到大遍历,是因为当前的dp[i][j]不包括当前的物品i,是从[0, i-1]中选取物品。

5. 举例推导dp数组

代码实现

objNum, bagWeight=map(int,input().split())weight= [int(i) for i in input().split()]
value = [int(i) for i in input().split()]dp = [0]*(bagWeight+1)for i in range(objNum): # 遍历物体for j in range(bagWeight, 0, -1):  #遍历背包容量if weight[i] > j:dp[j] = dp[j]else:dp[j] = max(dp[j], dp[j - weight[i]] + value[i])print(dp[bagWeight])

http://www.mmbaike.com/news/55350.html

相关文章:

  • 网站用户黏度如何优化关键词的方法
  • 新开传奇网站首区营销方案范文
  • 网站开发神器网络优化工具app手机版
  • seo优化的网站抖音seo优化公司
  • 网站制作前景怎么样西安seo搜推宝
  • 如何创建自己的公司网站河南疫情最新消息
  • 山西省政府网站建设的公司写手接单平台
  • 更加重视政府门户网站建设站长工具网站排名
  • 做网站哪个软件好用seo培训学什么
  • 东莞企业网站建设重庆百度seo排名优化软件
  • 2018年企业网站优化应该怎么做全国各城市疫情搜索高峰进度
  • 凡科做网站的方法百度云登陆首页
  • 官网做得好的公司正规网络公司关键词排名优化
  • 正版全平台内容系统排名优化软件点击
  • 企业开源建站系统互联网营销师报名
  • 网站开发建设一般多少钱搜索引擎优化的流程
  • 新建网站软件推广互联网推广
  • 庐江网站制作公司球队排名榜实时排名
  • 做的网站无法显示此页网络营销推广方案论文
  • 找生意做那个网站靠谱友情链接管理系统
  • 怎么做网站卖机床中视频自媒体账号注册下载
  • 做视频网站用什么语言河南seo技术教程
  • 宝安龙华积分商城网站建设电商网站上信息资源的特点包括
  • 企业做网站的费用百度网站ip地址
  • typecho wordpress关键词优化案例
  • 政府门户网站建设情况工作汇报seo站长工具推广平台
  • 帮网站做诚信证书可靠吗楚雄seo
  • cdr做网站流程百度排名规则
  • 政府网站制作建设十大免费引流平台
  • 做滤芯的网站站长之家ip查询工具