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

有什么做视频的免费素材网站好做网站的边框

有什么做视频的免费素材网站好,做网站的边框,关键词热度分析,企业数字化管理系统有哪些一、问题描述 给定一个容量为 W 的背包和 n 个物品。每个物品有一个重量 w[i] 和价值 v[i]。每个物品只能选或不选(即“0-1”),求在不超过背包容量的前提下,所能获得的最大总价值。 输入: 背包容量 W(in…

一、问题描述

给定一个容量为 W 的背包和 n 个物品。每个物品有一个重量 w[i]价值 v[i]。每个物品只能选或不选(即“0-1”),求在不超过背包容量的前提下,所能获得的最大总价值

输入:

  • 背包容量 W(int)
  • 物品数量 n(int)
  • 每个物品的重量 w[i](int[])
  • 每个物品的价值 v[i](int[])

输出:

  • 最大总价值(int)

二、建模分析

定义 dp[i][j] 表示:前 i 个物品中选取若干个,放入容量为 j 的背包中所能获得的最大价值。

状态转移方程:

  • 如果不选第 i 个物品:

    dp[i][j] = dp[i - 1][j]
    
  • 如果选第 i 个物品(前提是 j >= w[i]):

    dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - w[i]] + v[i])
    

初始条件:dp[0][*] = 0(0 个物品时,无论容量多少,价值都是 0)

最终答案:dp[n][W]


三、Java 实现(二维 DP)

public class Knapsack01 {public static int knapsack(int[] weights, int[] values, int W) {int n = weights.length;int[][] dp = new int[n + 1][W + 1];for (int i = 1; i <= n; i++) {int wi = weights[i - 1];int vi = values[i - 1];for (int j = 0; j <= W; j++) {if (j < wi) {dp[i][j] = dp[i - 1][j]; // 装不下} else {dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - wi] + vi);}}}return dp[n][W];}public static void main(String[] args) {int[] weights = {2, 1, 3};int[] values = {4, 2, 3};int W = 4;System.out.println(knapsack(weights, values, W)); // 输出最大价值}
}

四、空间优化(滚动数组)

二维数组空间复杂度为 O(nW),可以用一维数组降为 O(W)

public class Knapsack01Optimized {public static int knapsack(int[] weights, int[] values, int W) {int n = weights.length;int[] dp = new int[W + 1];for (int i = 0; i < n; i++) {for (int j = W; j >= weights[i]; j--) {dp[j] = Math.max(dp[j], dp[j - weights[i]] + values[i]);}}return dp[W];}
}

⚠️ **注意:**必须倒序遍历 j,否则会重复使用同一物品,变成“完全背包”问题。


五、实际应用场景

  • 项目预算分配(有限资源选择最优组合)
  • 云资源调度(选择若干任务部署到有限资源池)
  • 投资组合选择(限定资金下选择最大收益)
  • 嵌入式设备资源优化(内存/能耗限制下选择模块)

六、变种问题(可扩展)

问题类型描述变化点
完全背包每个物品可以选多次内层循环从小到大
多重背包每个物品有限个数转换成多个“0-1背包项”
多维背包背包有多个限制条件(如体积)dp[i][j][k]... 多维数组
分组背包多个物品组,每组最多选一个分组循环 + DP
http://www.dtcms.com/wzjs/561649.html

相关文章:

  • 网站建设设计作业企业网站怎么做推广
  • 青海省城乡建设厅网站想要接网站业务如何做
  • 电商网站开发的主流技术襄阳网站制作
  • 网站系统安全防护体系建设方案 下载建设电子商务网站的方案
  • 广州高端网站建设鄢陵网站建设
  • 网站建设中数据库wordpress安装论坛
  • 专业郑州做网站的公司导航网站开发
  • 做海外网站 服务器放哪引流推广怎么做
  • 陕西省门户网站建设政策百色建设厅网站
  • 阿里云申请域名后网站网站建设类岗位杭州
  • 做书的网站有哪些中小企业解决方案
  • 做网站哪里最好网页编辑软件中文版
  • 下载 公司网站 程序 需要ftp权限天津关键词排名提升
  • 如何做网站拓扑结构图自己做交易网站吗
  • 关键词搜索引擎工具爱站wordpress会员注册
  • 达濠市政建设有限公司网站厦门网络营销顾问
  • 重庆梁平网站建设公司免费发布信息的平台
  • 中山专业门户网站制作策划外贸wordpress模板
  • 经典网站设计欣赏微信小程序云开发模板
  • 做服装外贸哪个网站好东莞网站建设服务有什
  • 佛山微网站开发哪家好网上购物系统概述
  • 制造业网站开发浙江核酸检测查验
  • 个人电脑做网站主机通过wordpress小程序发布文章
  • 怎样辨别网站提供建站服务的网络公司的比较
  • 做英语作业的网站中企动力邮箱设置
  • 湘潭市高新建设局网站天津中冀建设集团有限公司网站
  • iis网站正在建设中学做网站有前
  • 企业网站的开发流程是什么最新seo快排技术qq
  • 手机型号最全的网站文创产品设计创意图片
  • 导购网站怎么推广无人区卡一卡二卡三乱码入口