题意:给出包裹的大小v,然后给出n块骨头的价值value和体积volume,求出一路下来包裹可以携带骨头最大价值

思路:01背包

1.二维数组(不常用

#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int dp[][];
int main()
{
int i,j;
int t,n,_v;//测试用例个数,物品种类,背包大小
int c[],v[];//花费,价值
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&_v);
for(j=; j<=_v; ++j)dp[][j]=; for(i=; i<=n; ++i)scanf("%d",&v[i]);
for(i=; i<=n; ++i)scanf("%d",&c[i]); for(i=; i<=n; ++i)
{
for(j=; j<c[i]; ++j)dp[i][j]=dp[i-][j];
for(j=c[i]; j<=_v; ++j)
{
if(dp[i-][j-c[i]]+v[i]>dp[i-][j])dp[i][j]=dp[i-][j-c[i]]+v[i];
else dp[i][j]=dp[i-][j];
}
} printf("%d\n",dp[n][_v]);
}
return ;
}

2.一维数组(之后 多重、完全背包 的解法 皆采用一维数组)

1...n
   _v...0

#include<iostream>
#include<stdio.h>
using namespace std;
int dp[];
int main()
{
int i,j;
int t,n,_v;//测试用例个数,物品种类,背包大小
int c[],v[];//花费,价值
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&_v);
for(j=; j<=_v; ++j)dp[j]=; for(i=; i<=n; ++i)scanf("%d",&v[i]);
for(i=; i<=n; ++i)scanf("%d",&c[i]); for(i=; i<=n; ++i)
for(j=_v; j>=c[i]; --j)
if(dp[j-c[i]]+v[i]>dp[j])dp[j]=dp[j-c[i]]+v[i]; printf("%d\n",dp[_v]);
}
return ;
}

附一道01背包好题:http://acm.csu.edu.cn/OnlineJudge/problem.php?cid=2071&pid=0

hdu 2602 Bone Collector(01背包)的更多相关文章

  1. HDU 2602 Bone Collector(01背包裸题)

    Bone Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  2. HDU 2602 - Bone Collector - [01背包模板题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Many years ago , in Teddy’s hometown there was a ...

  3. HDU 2602 Bone Collector --01背包

    这种01背包的裸题,本来是不想写解题报告的.但是鉴于还没写过背包的解题报告.于是来一发. 这个真的是裸的01背包. 代码: #include <iostream> #include < ...

  4. HDU 2602 Bone Collector (01背包DP)

    题意:给定一个体积,和一些物品的价值和体积,问你最大的价值. 析:最基础的01背包,dp[i] 表示体积 i 时最大价值. 代码如下: #pragma comment(linker, "/S ...

  5. [HDU 2602]Bone Collector ( 0-1背包水题 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 水题啊水题 还给我WA了好多次 因为我在j<w[i]的时候状态没有下传.. #includ ...

  6. HDU 2602 Bone Collector (01背包问题)

    原题代号:HDU 2602 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 原题描述: Problem Description Many yea ...

  7. HDOJ(HDU).2602 Bone Collector (DP 01背包)

    HDOJ(HDU).2602 Bone Collector (DP 01背包) 题意分析 01背包的裸题 #include <iostream> #include <cstdio&g ...

  8. HDU 2602 Bone Collector 0/1背包

    题目链接:pid=2602">HDU 2602 Bone Collector Bone Collector Time Limit: 2000/1000 MS (Java/Others) ...

  9. hdu 2602 Bone Collector(01背包)模板

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/Ot ...

  10. HDU 2602 Bone Collector(经典01背包问题)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/O ...

随机推荐

  1. Docker初步认识安装和简单实例

    前话 问题 开发网站需要搭建服务器环境,FQ官网下载软件包,搭建配置nginx,apache,数据库等.官网没有直接可用的运行版本,担心网络流传的非官方发布软件包不安全还得自行编译官方源码安装,忘记步 ...

  2. 机器人学 —— 机器人感知(Kalman Filter)

    对于机器人感知任务而言,经常需要预判物体的运动,保证机器人在物体与自身接触之前进行规避.比如无人机与障碍物的碰撞,足球机器人判断足球的位置.预判的前提是对当前状态进行准确的估计,比如足球的速度,障碍物 ...

  3. Linux实用命令

    0. 基本命令 1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a 2. vim小结 2.1 ...

  4. log log4net用代码记录日志

    log4net  用代码记录日志 今天在开发项目的时候,遇到跨域调用log4net中的类,出现了一个bug,提示LogImpl未标记可序列化,此时,我靠,麻烦了,这个类又不是咱们自己的,改源码我想应该 ...

  5. SQL 随笔

    自动生成10位ID DECLARE @num INT ) )) ) Date的运算 DECLARE @StartDate DATETIME , GetDate()) --add day PRINT @ ...

  6. Mac下无法拷贝文件到移动硬盘

    Mac下无法拷贝文件到移动硬盘? 是移动硬盘的文件格式的问题. Mac系统无法识别 NTFS 格式的文件. 将移动硬盘格式化为 exFAT 格式的. 别担心,exFAT 格式的硬盘在Windows下也 ...

  7. hbase-0.94.16 在hadoop-1.2.1的安装配置

    1. ZooKeeper的安装: ZooKeeper是一个分布式的服务框架.可用于处理分布式的一些数据管理问题,如统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等. 步骤如下: a. 准 ...

  8. 实际利率 > 名义利率

    名义利率与实际利率的关系为:实际利率=(1+名义利率/计息周期)计息周期-1. 如计息周期数=1时,两者相等.如计息周期数大于1时,实际利率大于名义利率,当计息周期数小于1时,实际利率小于名义利率. ...

  9. 用java在mysql中随机插入9000 000条数据

    package query; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; ...

  10. android SDK 更新

    在SDK Manager下Tools->Options打开了SDK Manager的Settings,选中“Force https://… sources to be fetched using ...