首页 > 其他分享 >01背包问题

01背包问题

时间:2023-09-25 22:23:10浏览次数:38  
标签:std 01 int 问题 背包 MAXN 体积

 一个大佬的写法:

#include<bits/stdc++.h>

using namespace std;

const int MAXN = 1005;
int v[MAXN];    // 体积
int w[MAXN];    // 价值 
int f[MAXN][MAXN];  // f[i][j], j体积下前i个物品的最大价值 

int main() 
{
    int n, m;   
    cin >> n >> m;
    for(int i = 1; i <= n; i++) 
        cin >> v[i] >> w[i];

    for(int i = 1; i <= n; i++) 
        for(int j = 1; j <= m; j++)
        {
            //  当前背包容量装不进第i个物品,则价值等于前i-1个物品
            if(j < v[i]) 
                f[i][j] = f[i - 1][j];
            // 能装,需进行决策是否选择第i个物品
            else    
                f[i][j] = max(f[i - 1][j], f[i - 1][j - v[i]] + w[i]);
        }           

    cout << f[n][m] << endl;

    return 0;
}


作者:深蓝
链接:https://www.acwing.com/solution/content/1374/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

标签:std,01,int,问题,背包,MAXN,体积
From: https://www.cnblogs.com/daitu66/p/17729001.html

相关文章

  • 综合概念映射和网络问题解决方法对学生学习成绩、感知和认知负荷的影响
    (Effectsofanintegratedconceptmappingandweb-basedproblem-solvingapproachonstudents’learningachievements,perceptionsandcognitiveloads) Computers&Education71(2014)77–86一、摘要研究目的:虽然学生可以通过适当的关键词有效地搜索到网络数据,并......
  • 论文研读_通过具有可扩展的小子种群的协方差矩阵适应性进化策略解决大规模多目标优化
    论文研读_通过具有可扩展的小子种群的协方差矩阵适应性进化策略解决大规模多目标优化问题创新点随着目标或决策变量的数量增加,收敛性和多样性之间的冲突变得更为严重,因此在它们之间取得平衡变得越来越困难。此时S3-CMA-ES,它使用一系列子种群来近似LSMOPs的PFs,并强调不同子种......
  • Android 第一次点击EditText不显示光标问题
    可以考虑在XML布局文件中添加android:focusableInTouchMode="true"属性,以确保ClearEditText控件在触摸模式下也能获取焦点。这样,用户在首次点击时会立即看到光标。在XML布局文件中,将ClearEditText的定义中添加android:focusableInTouchMode属性,如下所示:<com.tools.q......
  • Markdowm学习day01
    Markdowm学习标题一级到六级标题用Ctrl1~6字体前加#为一级标题,加两个#为二级标题,以此类推字体Helloworld两边加一个星变斜体/crtl+iHelloworld加两个变粗体/crtl+bHelloworld加三个变斜粗体/crtl+i+bHelloworld加两个波浪号删除/alt+shift+5引用狂神说Java......
  • 001 - 员工信息
    主要内容新增员工员工分页查询启用禁用员工账号编辑员工导入分类模块功能代码功能实现:员工管理、菜品分类管理。员工管理效果:菜品分类管理效果:1.新增员工1.1需求分析和设计1.1.1产品原型一般在做需求分析时,往往都是对照着产品原型进行分析,因为产品原型比较直......
  • 再次使用latex排班,解决一些问题
    问题1:如何最快地将word里的公式转为latex代码最终解决办法:使用mathtype里的ToggleTex,然后稍作修改,将\[\]全部换为$,使公式成为行内公式,把换行变成换两行,方便latex识别  问题2:如何把算法排入三线表内,同时保持缩进尝试解决办法:使用成型的算法排版包%\usepackage{algorithm......
  • 背包问题(0-1&&完全背包 )
    https://programmercarl.com/背包理论基础01背包-1.html#总结https://www.bilibili.com/video/BV1C7411K79w?p=1&vd_source=46d50b5d646b50dcb2a208d3946b1598packagedynamic;publicclassBeibao{publicstaticvoidmain(String[]args){int[]weight={1......
  • Qt 5——对象树及对象树容易出现的内存问题
    对象模型(对象树) 在Qt中创建对象的时候会提供一个Parent对象指针,下面来解释这个parent到底是干什么的。QObject是以对象树的形式组织起来的。当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是parent,也就是父对象指针。这相当于,在......
  • LaTeX学习:Texlive 2019和TeX studio的安装及使用
    1. LaTex介绍LaTeX基于TeX,主要目的是为了方便排版。在学术界的论文,尤其是数学、计算机等学科论文都是由LaTeX编写,因为用它写数学公式非常漂亮。在稍微了解一点LaTeX后,你会发现LaTeX的工作方式类似webpage,都是由源文件(.texor.html)经由引擎(TeXorbrowser)渲染产生......
  • Windows Server 2019 使用 WSL(Linux子系统(官方发行WSL版))
    启用适用于Linux的Windows子系统必须启用“适用于Linux的Windows子系统”可选功能并重启,然后才能在Windows上运行Linux发行版。以管理员身份打开PowerShell并运行:Enable-WindowsOptionalFeature-Online-FeatureNameMicrosoft-Windows-Subsystem-Linux下......