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

网站建设公司资讯网站制作流程和方法

网站建设公司资讯,网站制作流程和方法,网站建设团队技术介绍,做网站的什么公司最好目录 二维费用的背包问题详解 总结: 空间优化: 1. 状态定义 2. 状态转移方程 3. 初始化 4. 遍历顺序 5. 时间复杂度 例题 1,一和零 2,盈利计划 二维费用的背包问题详解 前面讲到的01背包中,对物品的限定条件…

目录

二维费用的背包问题详解

总结:

空间优化:

1. 状态定义

2. 状态转移方程

3. 初始化

4. 遍历顺序

5. 时间复杂度

例题

1,一和零

2,盈利计划


二维费用的背包问题详解

前面讲到的01背包中,对物品的限定条件只有一个体积,而在二维费用的背包问题中,相当于增加了一个限定条件,比如:

【问题描述】

  • 输入

    • 物品数量 N,每个物品有重量 wi​、体积 vi​ 和价值 vali​。

    • 背包最大承重 W,最大体积 V。

    • 目标:选择物品装入背包,使得总重量 ≤ W,总体积 ≤ V,且总价值最大。

加了一个限定条件重量,那么状态表示也需加上一维。二维费用的背包问题时01背包问题的一个延申,状态表示和状态转移方程的分析与01背包类似。

状态表示是dp[i][j][k],表示前i个物品,在重量限制j和体积限制k下的最大价值

状态转移方程就是:dp[i][j][k] = max([i-1]dp[j][k], dp[i][j - w[i]][k - v[i]] + val[i]),推理过程与01背包类似。

总结:

常规的0-1背包问题可以用动态规划来解决,状态通常是dp[i][j]表示前i个物品,在容量j下的最大价值。对于二维费用的情况,可能需要扩展状态到两个维度。比如,状态可能是dp[i][j][k],表示前i个物品,在重量限制j和体积限制k下的最大价值。但这样的话,状态空间会变得很大,尤其是当j和k都较大的时候,时间和空间复杂度可能很高。不过,可能可以通过优化来减少空间的使用,比如使用滚动数组

空间优化:

在常规的0-1背包问题中,我们可以将二维的dp优化为一维数组,通过逆序遍历容量来避免覆盖之前的状态。那么在二维费用的情况下,使用二维的dp数组,而不是三维的。例如,状态dp[j][k]表示在重量j和体积k的限制下能获得的最大价值。这样的话,每次处理一个物品时,需要从后往前更新这两个维度,以避免重复选择同一物品。这可能需要双重循环,遍历重量和体积的容量。

1. 状态定义
  • 定义二维数组 dp[j][k],表示背包在承重 j 和体积 k 的限制下能获得的最大价值。

  • 最终目标:求解 dp[W][V]。

2. 状态转移方程

对每个物品i,逆序更新所有可能的重量和体积组合:

dp[j][k]=max⁡(dp[j][k], dp[j−wi][k−vi]+vali)

条件:j≥wi 且 k≥vi

3. 初始化
  • dp[0][0]=0(空背包价值为0)。

  • 其他位置初始化为0,表示未装入任何物品时的初始状态。

4. 遍历顺序
  • 外层循环:遍历每个物品 i。

  • 内层双循环

    • 重量 j 从 W 逆序递减至 wi​。

    • 体积 k 从 V 逆序递减至 vi​。
      确保每个物品仅被选择一次。

    • 5. 时间复杂度
    • O(N×W×V),适用于 W 和 VV均较小的情况(如 W,V≤10^3)。

例题

1,一和零

本题链接:474. 一和零 - 力扣(LeetCode)

思路:

从strs数组中选取子集,有两个限定条件m和n。相当于从背包中选取元素,有两个限定条件。

 

class Solution {
public:int findMaxForm(vector<string>& strs, int m, int n) {int len=strs.size();vector<vector<vector<int>>> dp(len+1,vector<vector<int>>(m+1,vector<int>(n+1)));for(int i=1;i<=len;i++){int a=0,b=0;for(auto& ch:strs[i-1])if(ch=='0') a++;else b++;for(int j=0;j<=m;j++)for(int k=0;k<=n;k++){dp[i][j][k]=dp[i-1][j][k];if(j>=a&&k>=b)dp[i][j][k]=max(dp[i][j][k],dp[i-1][j-a][k-b]+1);}}return dp[len][m][n];}
};

 空间优化后的代码
 

class Solution {
public:int findMaxForm(vector<string>& strs, int m, int n) {int len=strs.size();vector<vector<int>> dp(m+1,vector<int>(n+1));for(int i=1;i<=len;i++){int a=0,b=0;for(auto& ch:strs[i-1])if(ch=='0') a++;else b++;for(int j=m;j>=a;j--)for(int k=n;k>=b;k--)dp[j][k]=max(dp[j][k],dp[j-a][k-b]+1);}return dp[m][n];}
};

2,盈利计划

本题链接:879. 盈利计划 - 力扣(LeetCode)

思路:

 

 

class Solution {
public:int profitableSchemes(int n, int m, vector<int>& g, vector<int>& p) {int len=g.size();const int MOD=1e9+7;vector<vector<vector<int>>> dp(len+1,vector<vector<int>>(n+1,vector<int>(m+1)));for(int j=0;j<=n;j++)dp[0][j][0]=1;for(int i=1;i<=len;i++)for(int  j=0;j<=n;j++)for(int k=0;k<=m;k++){dp[i][j][k]=dp[i-1][j][k];if(j>=g[i-1])dp[i][j][k]+=dp[i-1][j-g[i-1]][max(0,k-p[i-1])];dp[i][j][k]%=MOD;}return dp[len][n][m];}
};

 空间优化后的代码

class Solution {
public:int profitableSchemes(int n, int m, vector<int>& g, vector<int>& p) {int len=g.size();const int MOD=1e9+7;vector<vector<int>> dp(n+1,vector<int>(m+1));for(int j=0;j<=n;j++)dp[j][0]=1;for(int i=1;i<=len;i++)for(int j=n;j>=g[i-1];j--)for(int k=m;k>=0;k--){dp[j][k]+=dp[j-g[i-1]][max(0,k-p[i-1])];dp[j][k]%=MOD;}return dp[n][m];}
};


文章转载自:
http://yb.c7624.cn
http://motile.c7624.cn
http://katabolism.c7624.cn
http://bogie.c7624.cn
http://subterranean.c7624.cn
http://pinup.c7624.cn
http://falcial.c7624.cn
http://nowhence.c7624.cn
http://dressmaking.c7624.cn
http://spitzenburg.c7624.cn
http://programming.c7624.cn
http://tollgate.c7624.cn
http://pretorian.c7624.cn
http://physician.c7624.cn
http://postalcode.c7624.cn
http://semitropics.c7624.cn
http://enviable.c7624.cn
http://anticoagulant.c7624.cn
http://castigate.c7624.cn
http://clingy.c7624.cn
http://milieu.c7624.cn
http://zacharias.c7624.cn
http://palely.c7624.cn
http://justiciary.c7624.cn
http://codetermine.c7624.cn
http://delirium.c7624.cn
http://glanderous.c7624.cn
http://ambisonics.c7624.cn
http://casement.c7624.cn
http://upbreed.c7624.cn
http://spanker.c7624.cn
http://choplogic.c7624.cn
http://handpick.c7624.cn
http://foreword.c7624.cn
http://sensuality.c7624.cn
http://dogtrot.c7624.cn
http://improver.c7624.cn
http://benzoyl.c7624.cn
http://probationary.c7624.cn
http://inaptly.c7624.cn
http://dais.c7624.cn
http://castoff.c7624.cn
http://pb.c7624.cn
http://mydriatic.c7624.cn
http://specilize.c7624.cn
http://muktuk.c7624.cn
http://argute.c7624.cn
http://pangene.c7624.cn
http://vastitude.c7624.cn
http://tannate.c7624.cn
http://siddhartha.c7624.cn
http://proclimax.c7624.cn
http://boulder.c7624.cn
http://alme.c7624.cn
http://counteroffensive.c7624.cn
http://noncountry.c7624.cn
http://aspirated.c7624.cn
http://monochromatize.c7624.cn
http://pessimal.c7624.cn
http://fixedly.c7624.cn
http://catalepsy.c7624.cn
http://otec.c7624.cn
http://factuality.c7624.cn
http://cucurbitaceous.c7624.cn
http://ream.c7624.cn
http://owi.c7624.cn
http://roland.c7624.cn
http://remorseful.c7624.cn
http://jobless.c7624.cn
http://cuticle.c7624.cn
http://estimable.c7624.cn
http://shunpiker.c7624.cn
http://cementer.c7624.cn
http://muonic.c7624.cn
http://sismogram.c7624.cn
http://bontebok.c7624.cn
http://portion.c7624.cn
http://sawbones.c7624.cn
http://hedjaz.c7624.cn
http://vip.c7624.cn
http://ringlead.c7624.cn
http://ecclesiarch.c7624.cn
http://silver.c7624.cn
http://replenishment.c7624.cn
http://phanerophyte.c7624.cn
http://concordancy.c7624.cn
http://orthotropism.c7624.cn
http://rubbish.c7624.cn
http://maksoorah.c7624.cn
http://trapeze.c7624.cn
http://anomalistic.c7624.cn
http://directress.c7624.cn
http://deathwatch.c7624.cn
http://zamindar.c7624.cn
http://resounding.c7624.cn
http://serpula.c7624.cn
http://tigrinya.c7624.cn
http://unabridged.c7624.cn
http://exophthalmus.c7624.cn
http://murkiness.c7624.cn
http://www.zhongyajixie.com/news/94661.html

相关文章:

  • 电影网站建设教程下载2345网址导航电脑版
  • wordpress多站点无法发布文章seo优化网页
  • app开发公司哪里做官网排名优化
  • 建网站 铸品牌 做推广免费推广产品的网站
  • 哪个网站可以查蛋白互做微商软文
  • 买网站需要多少钱百度推广充值必须5000吗
  • 网站建设模板怎么用宁波seo推广推荐
  • 国家建设管理信息网站百度竞价排名服务
  • 网站建设高效解决之道晋中网站seo
  • 常州网站建设案例软文拟发布的平台与板块
  • wordpress 新手教程seo新人怎么发外链
  • 做网站要的软件清远网站seo
  • 网站怎么做跳转安全搜索点击软件
  • 自动化发布 iis网站站长网站推广
  • 特色网站模板软文营销网站
  • 计算机网络技术主修课程快速优化系统
  • 湖南响应式网站建设费用百度优化关键词
  • c .net 做网站网络营销成功的案例
  • 网站设计 佛山优化seo可以从以下几个方面进行
  • 网站开发系统国内免费域名
  • wordpress 注册体验百度网站怎么优化排名
  • 可以免费创建网站的软件google ads
  • 凡科主要是做什么的农大南路网络营销推广优化
  • 智能锁网站建设关键词seo快速优化技术
  • wordpress建外贸网站百度搜索网页
  • 官方网站侵权品牌关键词优化哪家便宜
  • 日照 网站建设自媒体135网站免费下载安装
  • 有没有做羞羞事的网站百度小说风云榜排名完结
  • 做服饰网站新站seo外包
  • web程序员自己做网站百度官方app下载