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

新都兴城建设投资有限公司网站做网站的公司怎么推销

新都兴城建设投资有限公司网站,做网站的公司怎么推销,变装改造wordpress,自学网站建设和seo01背包(滚动数组方法) 学习资料:代码随想录 (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.yayakq.cn/news/84190/

相关文章:

  • 网站浏览器兼容性问题吗仿门户网站
  • 无投入网站推广海南做网站
  • 怎么建设QQ网站北京专业网站营销
  • 静态网站开发课程网北京手机建站模板
  • 做网站 会计分录品牌策划是做什么
  • 小程序网站建立网站平台需要那些技术
  • 青海省建设工程监理协会网站哪个网站买做房图纸好
  • wordpress 中间截取缩略图优化设计七年级下册数学答案
  • 怎么查看网站的空间商word如何做网站链接
  • 企业工商信息公示系统广州品牌seo推广
  • 国家批准做新闻的网站电商网站制作
  • 浙江商会网站建设策划方案关于做网站的合同
  • 北京专业做网站公司做dw和ps的网站教学
  • 信息管理系统网站模板深圳广告公司联系方式电话
  • 网站设计与网站建设a卷做网站的照片要多大像素
  • 易派客网站是谁做的网奇e游通旅游网站
  • 湖南长沙网站建设互联网平台
  • 特色美食网站建设策划书番禺人才网招聘
  • windows做网站服务器吗绍兴专业做网站公司
  • 昆明网站制作在线网站 多服务器
  • 网站运营 开发卓手机建网站
  • o2o网站建设平台长沙服务好的网络营销
  • 电子商务网站建设文档html代码加密
  • 杭州城乡建设网站wordpress主题 google
  • 本地做的网站如何映射出去小红书seo是什么意思
  • 宁波网站建设建站系统wordpress做小说网站
  • 框架网站模板开发游戏软件需要学什么专业
  • 从化做网站深圳做网站乐云seo598
  • 长沙哪家网站建设最好做一个小网站多少钱
  • 一站式服务门户深圳企业网站建设标准