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

做小程序和做网站哪个好汕头网站关键词推广

做小程序和做网站哪个好,汕头网站关键词推广,学校 网站建设 报销,网站建设和维护试卷背包问题算法 0-1背包问题二维数组一维数组 完全背包问题二维数组一维数组 多重背包问题一维数组 0-1背包问题 问题:背包的容量为9,有重量分别为[2, 4, 6, 9]的四个物品,价值分别为[3, 4, 5, 6],求背包能装的物品的最大价值是多少…

背包问题算法

  • 0-1背包问题
    • 二维数组
    • 一维数组
  • 完全背包问题
    • 二维数组
    • 一维数组
  • 多重背包问题
    • 一维数组

0-1背包问题

问题:背包的容量为9,有重量分别为[2, 4, 6, 9]的四个物品,价值分别为[3, 4, 5, 6],求背包能装的物品的最大价值是多少,每种物品的数量最多为1

二维数组

w = [2, 4, 6, 9]  # 重量
v = [3, 4, 5, 6]  # 价值
c = 9  # 最大容量
n = len(w)  # 物品数量
w.insert(0, 0)
v.insert(0, 0)
dp = [[0] * (c + 1) for _ in range(n + 1)]
for i in range(1, n + 1):for j in range(1, c + 1): # 正向if j >= w[i]:dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - w[i]] + v[i])else:dp[i][j] = dp[i - 1][j]for rows in dp:print(rows)
print('最大value:', dp[n][c])

一维数组

w = [2, 4, 6, 9]  # 重量
v = [3, 4, 5, 6]  # 价值
c = 9  # 最大容量n = len(w)  # 物品数量
w.insert(0, 0)
v.insert(0, 0)
dp = [0] * (c + 1)
for i in range(1, n + 1):for j in range(c, 0, -1): # 逆向if j >= w[i]:dp[j] = max(dp[j], dp[j - w[i]] + v[i])print(dp)
print('最大value:', dp[c])

完全背包问题

问题:背包的容量为9,有重量分别为[2, 4, 6, 9]的四个物品,价值分别为[3, 4, 5, 6],求背包能装的物品的最大价值是多少,每种物品的数量最多不限

二维数组

w = [2, 4, 6, 9]  # 重量
v = [3, 4, 5, 6]  # 价值
c = 9  # 最大容量n = len(w)
w.insert(0, 0)
v.insert(0, 0)dp = [[0] * (c + 1) for _ in range(n + 1)]for i in range(1, n + 1):for j in range(1, c + 1): # 正向if j >= w[i]:dp[i][j] = max(dp[i - 1][j], dp[i][j - w[i]] + v[i])else:dp[i][j] = dp[i - 1][j]
for values in dp:print(values)
print('最大value:', dp[n][c])

一维数组

w = [2, 4, 6, 9]  # 重量
v = [3, 4, 5, 6]  # 价值
c = 9  # 最大容量n = len(w)w.insert(0, 0)
v.insert(0, 0)dp = [0] * (c + 1)for i in range(1, n + 1):for j in range(0, c + 1): # 正向if j >= w[i]:dp[j] = max(dp[j], dp[j - w[i]] + v[i])print(dp)
print('最大value:', dp[c])

多重背包问题

问题:背包的容量为10,有重量分别为[2, 4, 6, 9]的四个物品,价值分别为[3, 4, 5, 6],求背包能装的物品的最大价值是多少,每种物品的数量最多分别为[2, 1, 2, 1]

一维数组

w = [2, 4, 6, 9]  # 重量
v = [3, 4, 5, 6]
counts = [2, 1, 2, 1]  # 数量
c = 10  # 最大容量
n = len(w)w.insert(0, 0)
v.insert(0, 0)
counts.insert(0, 0)dp = [0] * (c + 1)for i in range(1, n + 1):for j in range(c, 0, -1): # 逆向for k in range(1, counts[i] + 1):if j >= k * w[i]:dp[j] = max(dp[j], dp[j - k * w[i]] + v[i])print(dp)
print('最大value:', dp[c])
http://www.hengruixuexiao.com/news/46427.html

相关文章:

  • 服务器做网站用什么环境好seo导航站
  • 一家做特卖的网站叫什么科学新概念外链平台
  • 做那种的视频网站网络营销的概念与含义
  • 接网站建设单子注意事项电脑培训班速成班
  • html5 网站源码网站推广去哪家比较好
  • 网上做家教的网站网络推广网络营销外包
  • 网站建设与维护的认识做广告推广哪个平台好
  • 重庆梁平网站制作公司推推蛙seo顾问
  • 河南网站建设公司百度推广是什么意思
  • 苏州建站仿站优化设计答案四年级上册语文
  • 学校网站建设的优势和不足semir
  • 网站备案 每年网络广告投放公司
  • 网站域名迁移公告网络营销介绍
  • 个人做网站赚钱优化用户体验
  • 苍强广州网站建设公司高清视频线和音频线的接口类型
  • 做网页赚钱的网站seo是什么职业岗位
  • 外贸网站建设海外推广百度工具
  • 网址大全123下载apk沈阳关键词优化报价
  • 建设网站费用要进固定资产吗如何制作网址
  • 个人做网站 需要学什么只是百度收录网站
  • 企业网站建设参考资料属于b2b的网站有哪些
  • 离线 wordpress seo won
  • 做哪个网站的人多大型网站建设平台
  • 以前做的网站怎么才能登陆后台快速seo关键词优化方案
  • 网站建设报告心得体会佛山网站优化软件
  • 摄影师网站制作时事新闻
  • 新疆电信网站备案怎么创建一个属于自己的网站
  • 网页设计相关网站百度推广培训
  • 哪个网站建站好百度广告标识
  • 武当王也高清壁纸网站seo站长工具