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

分组背包问题

时间:2024-11-02 12:15:44浏览次数:3  
标签:背包 int cin 问题 -- 分组 include 105

分组背包问题

问题

有 N N N组物品和一个容量是 V V V的背包。

每组物品有若干个,同一组内的物品最多只能选一个。
每件物品的体积是 v i j v_{ij} vij​,价值是 w i j w_{ij} wij​,其中 i i i是组号, j j j是组内编号。

求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。

题解

#include<iostream>
#include<cmath>
using namespace std;
int n, m, s[105], v[105][105], w[105][105], f[105];

int main()
{
    cin >> n >> m;
    for(int i = 1 ;i <= n ;i ++)
    {
        cin >> s[i];
        for(int j = 1 ;j <= s[i] ;j ++)
            cin >> v[i][j] >> w[i][j];
    }
    
    for(int i = 1 ;i <= n ;i ++)
        for(int j = m ;j >= 0 ;j --)
            for(int k = 1 ;k <= s[i] ;k ++)
                if(j >= v[i][k]) f[j] = max(f[j] , f[j - v[i][k]] + w[i][k]);
    
    cout << f[m] << endl;
    return 0;
}

其中for循环部分不能改为以下部分

标签:背包,int,cin,问题,--,分组,include,105
From: https://blog.csdn.net/2301_80010036/article/details/143449029

相关文章

  • 关于Copilot出现:You don`t have access to Github Copilot .....的问题解决方案
    前面如何如何配置,以及如何如何上传学生证资料等我这里不赘述badendinghappyending出现这个界面这个问题就是set_up不是很完全,设置一下就行disable改为enable等这样再回去IDE,就可以正常使用了......
  • wait-notify代码(生产者-消费者问题)
    生产者-消费者问题是经典的多线程同步问题,可以使用Java中的wait()和notify()方法来解决。以下是一个简单的示例代码,展示了如何使用这些方法来处理生产者-消费者问题。在这个示例中,我们有一个共享的缓冲区(队列),生产者生产数据并将其放入缓冲区,消费者从缓冲区中取出数据进行处理......
  • 记录一次大炮打蚊子的modbustcp通讯连接异常问题定位事件
    一.问题描述某种场景下,安装有Ubuntu22系统的设备A开机后,1-2min内设备E遥控器不能遥控设备A移动,之后恢复正常。二.设备组网设备A和设备C之间使用modbustcp协议进行通讯。三.首战3.1查看日志放开该端口的modbus查询帧日志打印,发现整体的帧格式,发现返回了modbus数据帧,但是返......
  • 出口的货物遭遇的退运问题注意事项
    什么是退运货物?退运货物是指原出口货物或进口货物因各种原因造成退运进口或者退运出口的货物。《中华人民共和国进出口关税条例》第四十三条规定:“因品质或者规格原因,出口货物自出口之日起1年内原状复运进境的,不征收进口关税。因品质或者规格原因,进口货物自进口之日起1年内原......
  • 解决 System.Runtime.CompilerServices.Unsafe 程序集版本不匹配问题
    你是否在.NET文件上传中遇到过令人头疼的引用错误?今天我们就来深入探讨如何解决System.Runtime.CompilerServices.Unsafe引用错误1.错误现象在文件上传操作中,当处理特定文件格式(如.xlsx)时,代码workbook=newXSSFWorkbook(myfile.InputStream);出现异常。异常信息为......
  • 随笔-人品存在问题的人
    随笔-人品存在问题的人,不对头。让自己内耗的人,不对。你做工作之外的任何事情,他从来都不会认可你。他只关心工作,其实和我的父亲一样。就像读书的时候的父亲, 我本来打算学一会。但是他把你的情绪逼到了顶峰,我又得花很长时间处理我的情绪。一个不在意你的感受的人,为什么要在意他......
  • LeetCode题练习与总结:水壶问题--365
    一、题目描述有两个水壶,容量分别为 x 和 y 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 target 升。你可以:装满任意一个水壶清空任意一个水壶将水从一个水壶倒入另一个水壶,直到接水壶已满,或倒水壶已空。示例1: 输入:x=3,y=5,target=4输出......
  • 动态规划-回文串问题——132.分割回文串II
    1.题目解析题目来源:132.分割回文串II——力扣测试用例2.算法原理首先回文串问题一定首先需要保存每个回文子串出现的位置,即二维dp表来存储所有子字符串中符合回文子串的位置,如图1.状态表示创建一个一维dp表来存储第i个位置之前的字符串数组全部划分为回文子......
  • 51单片机蓝牙遥控小车中遇到的问题及解决方案&步骤心得
    一、遇到的问题及解决方案Q1:马达与车盘连接不牢固。A:可用橡皮筋缠紧连接处(如图)。Q2:L298N电机驱动模块无法驱动电机。A:若是仅仅连接了一个EN引脚则可能需要对ENA(或B)的两个引脚输入同样的电平。Q3:测试蓝牙时无法将程序烧录到单片机上。A:蓝牙模块的收发口与单片机的收......
  • 用文字“画出”时序图:用 AI+Mermaid.js 解决交互过程中的问题
    什么是时序图序列图是一种用于描述对象之间在时间上的交互顺序的图表。它可以展示对象之间是如何相互作用的,以及这些交互的顺序。什么是MermaidMermaid.js是一个开源项目,它允许你通过简单的文本代码来绘制图表。无论你是开发者、学生还是普通用户,它都能帮助你将复杂的信息以......