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

怎样创建购物网站江苏网站seo设计

怎样创建购物网站,江苏网站seo设计,仓库盘点网站开发,高仿id97网站模板目录 前置知识进入正题模板 前置知识 【算法】动态规划专题⑤ —— 0-1背包问题 滚动数组优化 完全背包问题是动态规划中的一种经典问题,它与0-1背包问题相似,但有一个关键的区别:在完全背包问题中,每种物品都有无限的数量可用。…

目录

  • 前置知识
  • 进入正题
  • 模板


前置知识


【算法】动态规划专题⑤ —— 0-1背包问题 + 滚动数组优化


完全背包问题是动态规划中的一种经典问题,它与0-1背包问题相似,但有一个关键的区别:在完全背包问题中,每种物品都有无限的数量可用。也就是说,你可以选择同一种物品多次放入背包,以使背包中的总价值最大。

示例分析
假设物品重量为 (w = [2, 3]),价值为 (v = [3, 4]),容量 (C = 5):

容量 (j)012345
初始化000000
物品1(w=2)003366
物品2(w=3)003467

最优解:选取 1 个物品1(重量2,价值3)和 1 个物品2(重量3,价值4),总价值为7。



进入正题


状态定义

dp[i][j] 表示前 (i) 种物品,背包容量为 j 时的最大总价值。

状态转移方程的推导

核心思想

对第 (i) 种物品,可以选择 0 次或多次,因此需要枚举所有可能的选取次数。

暴力枚举

对每种物品 (i) 和容量 (j),假设选取 (k) 次物品 (i),则转移方程为:

缺点:时间复杂度为 (O(n * C * kmax),其中 kmax= C/ w i w_i wi ,效率极低。


优化推导(消除对 k 的显式枚举)

观察到以下递推关系:

在这里插入图片描述

数学证明

假设在容量 (j) 时,最优解中包含 (m \geq 1) 个物品 (i),则总价值为:
dp[i][j] = dp[ i i i][ j j j - w i w_i wi] + v i v_i vi
这是因为在 ( j j j - w i w_i wi) 容量时,已经考虑了选取 (m-1) 个物品 (i) 的最优解。

因此,状态转移方程简化为:
dp[i][j] = max ( dp[i-1][j], dp[ i i i][ j j j - w i w_i wi] + v i v_i vi )



模板


完全背包问题 https://www.acwing.com/problem/content/3/

N N N 种物品和一个容量是 V V V 的背包,每种物品都有无限件可用。
i i i 种物品的体积是 v i v_i vi,价值是 w i w_i wi
求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。

输入格式

第一行两个整数, N , V N,V NV,用空格隔开,分别表示物品种数和背包容积。
接下来 N N N 行,每行两个整数 v i , w i v_i, w_i vi,wi,用空格隔开,分别表示第 i i i 种物品的体积和价值。

输出格式

输出一个整数,表示最大价值。

数据范围

0 < N , V ≤ 1000 0 \lt N, V \le 1000 0<N,V1000
0 < v i , w i ≤ 1000 0 \lt v_i, w_i \le 1000 0<vi,wi1000

输入样例

4 5
1 2
2 4
3 4
4 5

输出样例:

10

code:

n, v = map(int, input().split())
dp = [[0] * (v + 1) for _ in range(n + 1)]
for i in range(1, n + 1):wi, vi = map(int, input().split())for j in range(1, v + 1):if j - wi >= 0:dp[i][j] = max(dp[i - 1][j], dp[i][j - wi] + vi)else:dp[i][j] = dp[i - 1][j]
print(dp[n][v])

滚动数组优化:

n, v = map(int, input().split())
dp = [0] * (v + 1)
for i in range(1, n + 1):wi, vi = map(int, input().split())for j in range(wi, v + 1):dp[j] = max(dp[j], dp[j - wi] + vi)
print(dp[v])

不了解 滚动数组优化 的可点此进入


END
如果有更多问题或需要进一步的帮助,可以在评论区留言讨论哦!
如果喜欢的话,请给博主点个关注 谢谢


http://www.fp688.cn/news/154760.html

相关文章:

  • 国外网站怎么做威客百度的seo排名怎么刷
  • 四川城乡建设网站证件查询网站模板平台资源
  • 网站授权系统怎么用上海好的seo公司
  • 企业站点域名收录批量查询
  • 旅游网站总结seo技术培训宁波
  • 用国外服务器做网站域名流量查询工具
  • 企业网站国内现状百度服务中心人工客服电话
  • 莆田有交做外贸网站的没网店推广培训
  • 进入官网查看seo链接优化建议
  • 怎么做网站页面模板seo推广的方法
  • 建设银行信用卡网站是哪个新东方在线教育平台官网
  • 网站建设主要流程济南优化哪家好
  • 哪里有做空包网站的百度热搜榜排名今日头条
  • phpmysql网站开发技术项目式教程宁波seo深度优化平台有哪些
  • 徐汇网站建设百度怎么注册公司网站
  • 工商网站如何做企业增资合肥瑶海区
  • wordpress自建电商网站今日新闻最新消息
  • 旅游网站设计方案郑州网站关键词优化外包
  • 淘宝网请人做淘宝客网站百度网站排名关键词整站优化
  • 做装修的网站有哪些内容优化设计五年级下册语文答案
  • 政府网站群建设工作总结客户引流的最快方法是什么
  • 紧紧抓住推进党风廉政建设的"牛鼻子"中央纪委监察部网站小红书笔记关键词排名优化
  • 网站客服在线软件百度免费打开
  • 武汉网站建设公司厂家地址淘客推广怎么做
  • 摄影作品网站源码游戏搜索风云榜
  • 315网站专题怎么做自媒体营销模式有哪些
  • 如何禁止通过ip访问网站链接怎么做
  • 棋牌搭建工具seo专业培训seo专业培训
  • 海南做网站的如何在百度搜索排名靠前
  • 汕头建站服务域名解析