首页 > 其他分享 >背包问题-简单的0-1背包

背包问题-简单的0-1背包

时间:2023-04-04 13:33:54浏览次数:26  
标签:背包 cur int back 问题 简单 push N1

/*

#include <iostream>
#include <vector>
using namespace std;
#define max(N1,N2) N1>N2?N1:N2
int main()
{
    /*
    第一行输入背包容量V和物体的个数n
    接下来有n行,每行包含两个数字,分别为该物体的花费和价值
    */
    vector<int> w, v;//w为花费,v为价值
    vector<int> f;//f状态矩阵
    int V, n;//V背包容量,n物体数
    while (cin >> V >> n)
    {
        w.clear();
        v.clear();
        f.clear();
        w.push_back(0);
        v.push_back(0);

        //输入原始数据
        for (int i = 1; i <= n; i++)
        {
            int cur_w, cur_v;
            cin >> cur_w >> cur_v;
            w.push_back(cur_w);
            v.push_back(cur_v);
        }

        //初始化状态矩阵
        f = vector<int>(V + 1, 0);

        //动态规划过程
        for (int i = 1; i <= n; i++)
        {
            for (int j = V; j >= w[i]; j--)
            {
                f[j] = max(f[j], f[j - w[i]] + v[i]);
            }
        }

        //输出答案
        int ans = f[V];
        cout << ans << endl;
    }
    return 0;
}

 

标签:背包,cur,int,back,问题,简单,push,N1
From: https://www.cnblogs.com/lhf123/p/17286099.html

相关文章

  • Tomcat 9.0.26 高并发场景下DeadLock问题排查与修复
    vivo互联网技术微信公众号 作者:黄卫兵、陈锦霞一、Tomcat容器9.0.26版本Deadlock问题1.1问题现象1.1.1 发生Deadlock的背景某接口/get.do压测,3分钟后,成功事务数TPS由1W骤降至0。1.1.2 Tomcat服务器出现大量的CLOSE_WAIT被压测服务器,出现TCPCLOSE_WAIT状态个数在200~......
  • 一个简单的rust项目贪吃蛇
    一个贪吃蛇游戏的rust实现,使用了piston_window和randcrate。游戏使用上下左右方向键进行操控,使用R重置游戏,使用P进行暂停/启动。项目结构·├──Cargo.lock├──Cargo.toml├──src/│  ├──main.rs│  ├──snake_game/│  │ ├─......
  • ITtools平台中通过<mp4>标签插入的视频无法播放的问题
    首先检查视频资源链接等信息,确保不是代码的问题经检查后发现,具体的原因是因为IIS中没有MP4的映射,解决方案如下:win7:控制面板–查看方式(右上角)–小图标–管理工具–Internet信息服务(IIS)管理器–左侧单击自己的网站名称–右边双击“MIME类型”–最右边点击添加–文件扩展名填......
  • vue第三课:简单点击器应用
    简单需求:1,最小为0,小于0则不能再点击减少,并显示提示2,最大值为10,小于10则可以点击增加,超过10则不能再点击,并显示提示<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>v-html测试</title><scriptsrc="vue.js"></script>......
  • 一个.Net简单、易用的配置文件操作库
    在我们日常项目开发中,操作INI/CFG配置文件,往往会通过调用WinAPI来实现,WinAPI接口参数只支持字符串,而我们项目中,往往数据类型是多种多样的,在保存和获取配置值,我们就要进行类型的转换。今天给大家推荐一个操作库,这个库就可以解决我们的问题。项目简介这是一个基于.Net开发的简单......
  • 一个非常简单用.NET操作RabbitMQ的方法
    一个非常简单用.NET操作RabbitMQ的方法 RabbitMQ作为一款主流的消息队列工具早已广受欢迎。相比于其它的MQ工具,RabbitMQ支持的语言更多、功能更完善。 本文提供一种市面上最/极简单的使用RabbitMQ的方式(支持.NET/.NETFramework/.NETCore),只需要会调用以下三个方法,你就几......
  • 高效简单的.Net数据库“访问+操作”技术
    高效简单的.Net数据库“访问+操作”技术 本文技术源自外企,并已在多个世界500强大型项目开发中运用。本文适合有初步C#、Linq、Sql知识的同学阅读。 相关技术在IDataAccess接口中提供。IDataAccess所在的命名空间是:DeveloperSharp.Framework.QueryEngine。(需事先从nuget......
  • 一切问题都是人的问题,事情是没有问题的。
    1、很多人说读书无用,其实是你读书无用。其实古今中外哪个大人物不是读书很多的?查理芒格说,“我这辈子遇到的聪明人,没有不每天阅读的,没有,一个都没有。沃伦读书之多,我读书之多,可能会让你感到吃惊。”2、有人热衷于批判某某宗教或者思想流派,其实哪个思想体系没有顶级人物?是人的修行不......
  • 毕业论文格式问题汇总
    1.制作自定义目录已经将致谢设置成为“标题1”在开头插入新的一页,将光标放在首页,  点击引用----目录----自定义目录    点击确定   即可获得目录     2.致谢和参考文献部分没有点   解决办法就是将光标放在文献后,点击Tab键......
  • Chisel3 使用 DPI-C,发现在 Chisel 环境下 printf 没问题,但是 set_pc 死活传不到 cpp
    大概率是因为你使用了SignExt之类的封装这类封装只会把”值“传给DPI-C,而不会把线连给DPIC,即,传过去的是调用set_pc时的值,而不是引用这样会造成CPP获取不了相应线路的指针 如下图     这些也是错的......