装箱问题3

http://codevs.cn/problem/3152/

题目描述 Description

设有n种物品,记作A1、A2、…、An,对应于每个Ai(1<=i<=n)都有一个重量Awi和价值Avi(重量和价值都为正整数)。另外,对应于每个Ai,都有一件可代替它的“代用品”Bi,Bi的重量和价值分别为Bwi和Bvi。

本题的任务是:选择这n件物品或其代用品的一个子集装进背包,使总重量不超过给定重量TOT,同时使总价值VAL最高。装填的第I步,要么装入Ai,要么装入Bi,要么Ai和Bi都不装。

输入描述 Input Description

第一行:n TOT ,n<=100, TOT<=10000

第二行:AW1 A v1 B W1 Bv1

第三行:AW2 A v2 B W2 Bv2

……

第n+1行:AWn A vn B Wn Bvn

输出描述 Output Description

只有一个数为最大的价值

样例输入 Sample Input

4 20

8 20 12 31

2 3 9 20

13 31 11 12

8 9 13 36

样例输出 Sample Output

40

分组背包,每组分3个,不加,A,B

#include<cstdio>
#include<iostream>
using namespace std;
int n,m,w[][],v[][],f[];
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
scanf("%d%d%d%d",&w[i][],&v[i][],&w[i][],&v[i][]);
for(int i=;i<=n;i++)
for(int j=m;j>;j--)
for(int k=;k<=;k++)
{
if(j<w[i][k]) continue;
f[j]=max(f[j],f[j-w[i][k]]+v[i][k]);
}
printf("%d",f[m]);
}

codevs 3152 装箱问题3的更多相关文章

  1. Codevs 1014 装箱问题

    题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若 ...

  2. codevs 1464 装箱问题 2

    题目描述 Description 一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6.这些产品通 ...

  3. codevs 1014 装箱问题 2001年NOIP全国联赛普及组

    题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若 ...

  4. 【动态规划】【零一背包】CODEVS 1014 装箱问题 2001年NOIP全国联赛普及组

    #include<cstdio> #include<algorithm> using namespace std; ],f[]; int main() { scanf(&quo ...

  5. codevs 1464 装箱问题 2 x

                         题目描述 Description 一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1, 2*2, 3*3 ...

  6. 【CodeVS 1014】装箱问题

    题目描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩 ...

  7. codevs 3289 花匠

    题目:codevs 3289 花匠 链接:http://codevs.cn/problem/3289/ 这道题有点像最长上升序列,但这里不是上升,是最长"波浪"子序列.用动态规划可 ...

  8. codevs 1082 线段树练习 3(区间维护)

    codevs 1082 线段树练习 3  时间限制: 3 s  空间限制: 128000 KB  题目等级 : 大师 Master 题目描述 Description 给你N个数,有两种操作: 1:给区 ...

  9. codevs 1285 二叉查找树STL基本用法

    C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...

随机推荐

  1. Leetcode题库——19.删除链表的倒数第 n 个节点【##】

    @author: ZZQ @software: PyCharm @file: removeNthFromEnd.py @time: 2018/9/26 21:56 说明:给定一个链表,删除链表的倒数第 ...

  2. python learning Exception & Debug.py

    ''' 在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因.在操作系统提供的调用中,返回错误码非常常见.比如打开文件的函数open(),成功时返 ...

  3. SM2

    一.介绍 #百度 二.生成密钥对及证书 1.使用gmssl工具 详见gmssl 2.go 版本 详见https://github.com/tjfoc/gmsm 3.java版本 #尚未实现 1.初步使 ...

  4. 个人作业2——APP案例分析

    产品:网易LOFTER(乐乎)   网易LOFTER是网易旗下图片社交APP,产品覆盖web及移动各端. 网易LOFTER社区内汇聚了多领域的品质生活家与生活达人,包含女神.明星.穿搭.文具.旅行.美 ...

  5. 旧文备份:CANopen协议中SDO服务

    SDO是服务数据对象接口(Service Data Obiect)的缩写,顾名思义提供服务数据的访问接口,服务数据就是一些实时性要求不高的数据,一般是指节点配置参数,因此,SDO一般用来配置和获得节点 ...

  6. Beta阶段 敏捷冲刺day1

    一.提供当天站立式会议照片一张: 二. 每个人的工作 (有work item 的ID) (1) 昨天已完成的工作: (2) 今天计划完成的工作: 今天大家一起讨论了一下之后几天的任务,以及如何对网页进 ...

  7. 读书笔记-《Java核心技术卷I-基础知识》

    1.定时器Timer类 构造定时器时,需要设置一个时间间隔,并告知定时器,当到达时间间隔时需要做什么操作.定时器需要知道调用哪一个方法,并要求传递的对象所属的类实现了java.awt.event包的A ...

  8. eclipse+IDEA快捷键记录

    Eclipse中自动获取 IDEA中:ctrl+alt+v==alt+shift+l 其它   (有些地方前面的C代表Ctrl .S代表Shift.A代表Alt) Ctrl+Shift+F       ...

  9. es6 字符串String的扩展

    新特性:模板字符串 传统字符串 let name = "Jacky"; let occupation = "doctor"; //传统字符串拼接 let str ...

  10. 【刷题】BZOJ 4998 星球联盟

    Description 在遥远的S星系中一共有N个星球,编号为1-N.其中的一些星球决定组成联盟,以方便相互间的交流.但是,组成联盟的首要条件就是交通条件.初始时,在这N个星球间有M条太空隧道.每条太 ...