传送门

【题目大意】给出物品的数量。-1为无限个。

【思路】混合背包....

【code】

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int w[],v[],c[],dp[];
int main()
{
int vv,n;
scanf("%d%d",&n,&vv);
for(int i=;i<=n;i++)
scanf("%d%d%d",&w[i],&v[i],&c[i]);
for(int i=;i<=n;i++)
{
if(c[i]==-)
{
for(int j=w[i];j<=vv;j++)
{
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
}
}
else
{
int x=c[i];
for(int j=;j<=x;j<<=)
{
for(int k=vv;k>=w[i]*j;k--)
{
dp[k]=max(dp[k],dp[k-w[i]*j]+v[i]*j);
}
x-=j;
}
if(x!=)
{
for(int j=vv;j>=x*w[i];j--)
{
dp[j]=max(dp[j],dp[j-x*w[i]]+v[i]*x);
}
}
}
}
printf("%d",dp[vv]);
return ;
}

codevs 3269 混合背包(复习混合背包)的更多相关文章

  1. codevs 3269 混合背包

    题目描述 Description 背包体积为V ,给出N个物品,每个物品占用体积为Vi,价值为Wi,每个物品要么至多取1件,要么至多取mi件(mi > 1) , 要么数量无限 , 在所装物品总体 ...

  2. COGS 68. [NOIP2005] 采药【01背包复习】

    68. [NOIP2005] 采药 ★   输入文件:medic.in   输出文件:medic.out   简单对比 时间限制:1 s   内存限制:128 MB [问题描述] 辰辰是个天资聪颖的孩 ...

  3. Bone Collector(复习01背包)

    传送门 题目大意:01背包裸题. 复习01背包: 题目 有N件物品和一个容量为V的背包.第i件物品的费用是c[i],价值是w[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总 ...

  4. 复习1背包dp

    背包问题是对于一个有限制的容器,一般计算可以装的物品的价值最值或数量.通常每个物品都有两个属性空间和价值,有时还有数量或别的限制条件,这个因体而异. 背包大概分成3部分,下面会细述这最经典的3种题型 ...

  5. 01背包与完全背包(dp复习)

    01背包和完全背包都是dp入门的经典,我的dp学的十分的水,借此更新博客的机会回顾一下 01背包:给定总容量为maxv的背包,有n件物品,第i件物品的的体积为w[i],价值为v[i],问如何选取才能是 ...

  6. ACM__01背包,完全背包,多重背包

    今天写题的时候碰到了一道完全背包题,可是没有看出来,乱写了一通,浪费了一个晚上,顺便复习一下背包的知识 01背包 每种物品只能选择一次或者不选,求背包容量内的最大价值 先给出状态转移方程: f[i][ ...

  7. HDU2159--二维费用背包,三重背包

    FATE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. 背包问题(01背包,完全背包,多重背包(朴素算法&&二进制优化))

    写在前面:我是一只蒟蒻~~~ 今天我们要讲讲动态规划中~~最最最最最~~~~简单~~的背包问题 1. 首先,我们先介绍一下  01背包 大家先看一下这道01背包的问题  题目  有m件物品和一个容量为 ...

  9. poj1742(多重背包分解+01背包二进制优化)

    Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...

随机推荐

  1. 1、CRM2011编程实战——清空指定页签以下的全部选项,并对页签以下的指定控件进行操作

    需求:当页面载入时,"呼叫编号"保持不变,"任务号"自己主动更新."接报时间"和"发生日期"自己主动设置为当天日期和时间 ...

  2. 内核顶层Makefile相关1

    http://www.groad.net/bbs/simple/?f104.htm $(Q) 变量 内核 Makefile 文件 238 行到 259 行的注释中知道,$(Q) 变量的作用是决定是否在 ...

  3. PHP中多维数组查找某个值是否存在的方法

    in_array — 检查数组中是否存在某个值,只是这个方法不能检查多维数组. 所以可以编写类似下面的递归方法来检查多维数组. function deep_in_array($value, $arra ...

  4. Fckeditor常见漏洞的挖掘与利用整理汇总

    查看编辑器版本号 FCKeditor/_whatsnew.html ------------------------------------------------------------- 2. V ...

  5. IOS 为UILabel添加长按复制功能

    IOS 为UILabel添加长按复制功能 在iOS中下面三个控件,自身就有复制-粘贴的功能: 1.UITextView 2.UITextField 3.UIWebView UIKit framewor ...

  6. PythonCookBook笔记——数据结构和算法

    数据结构和算法 解包赋值 p = [1, 2, 3] a, b, c = p # _表示被丢弃的值 _, d, _ = p # 可变长解包 *a, b = p # 字串切割解包 line = 'nob ...

  7. 升级svn 到1.7

    sudo yum update sudo yum groupinstall "Development tools" sudo yum groupinstall "Addi ...

  8. ZeroClipboard—ZeroClipboard的使用

    1.ZeroClipboard的作用: 借助Zero Clipboard能够简单高速地将内容拷贝到剪贴板,相似点击某些网页中"复制"按钮后复制对应区域的内容. 2.ZeroClip ...

  9. CF 445A(DZY Loves Chessboard-BW填充)

    A. DZY Loves Chessboard time limit per test 1 second memory limit per test 256 megabytes input stand ...

  10. 九度OJ 1107:搬水果 (贪心)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5190 解决:1747 题目描述: 在一个果园里,小明已经将所有的水果打了下来,并按水果的不同种类分成了若干堆,小明决定把所有的水果合成一堆 ...