HDU 2602.Bone Collector-动态规划0-1背包

Bone Collector

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 85530    Accepted Submission(s): 35381


Problem Description
Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave …
The bone collector had a big bag with a volume of V ,and along his trip of collecting there are a lot of bones , obviously , different bone has different value and different volume, now given the each bone’s value along his trip , can you calculate out the maximum of the total value the bone collector can get ?

 

Input
The first line contain a integer T , the number of cases.
Followed by T cases , each case three lines , the first line contain two integer N , V, (N <= 1000 , V <= 1000 )representing the number of bones and the volume of his bag. And the second line contain N integers representing the value of each bone. The third line contain N integers representing the volume of each bone.

 

Output
One integer per line representing the maximum of the total value (this number will be less than 231).

 

Sample Input
1 5 10 1 2 3 4 5 5 4 3 2 1

 

Sample Output
14

 

Author
Teddy

 

Source
HDU 1st “Vegetable-Birds Cup” Programming Open Contest
代码(一维数组):
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N=1e5+10;
 4 int val[N],wei[N],dp[N];
 5 int main(){
 6     int t,n,m;
 7     scanf("%d",&t);
 8     while(t--){
 9             memset(val,0,sizeof(val));
10             memset(wei,0,sizeof(wei));
11             memset(dp,0,sizeof(dp));
12         scanf("%d%d",&n,&m);
13         for(int i=0;i<n;i++)
14             scanf("%d",&val[i]);
15         for(int i=0;i<n;i++)
16             scanf("%d",&wei[i]);
17         for(int i=0;i<n;i++){
18             for(int j=m;j>=wei[i];j--){
19                 dp[j]=max(dp[j],dp[j-wei[i]]+val[i]);
20             }
21         }
22         printf("%d\n",dp[m]);
23     }
24     return 0;
25 }

 

代码(二维数组):

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N=1e3+10;
 4 int val[N],wei[N],dp[N][N];
 5 int main(){
 6     int t,n,m;
 7     scanf("%d",&t);
 8     while(t--){
 9         memset(dp,0,sizeof(dp));
10         scanf("%d%d",&n,&m);
11         for(int i=1;i<=n;i++)
12             scanf("%d",&val[i]);
13         for(int i=1;i<=n;i++)
14             scanf("%d",&wei[i]);
15         for(int i=1;i<=n;i++){
16             for(int j=0;j<=m;j++){
17                 if(wei[i]<=j)dp[i][j]=max(dp[i-1][j],dp[i-1][j-wei[i]]+val[i]);
18                 else dp[i][j]=dp[i-1][j];
19             }
20         }
21         printf("%d\n",dp[n][m]);
22     }
23     return 0;
24 }

 

 

 

 

转载于:https://www.cnblogs.com/ZERO-/p/9741042.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单谈谈js中的MVC

MVC是什么&#xff1f; MVC是一种架构模式&#xff0c;它将应用抽象为3个部分&#xff1a;模型&#xff08;数据&#xff09;、视图、控制器&#xff08;分发器&#xff09;。 本文将用一个经典的例子todoList来展开&#xff08;代码在最后&#xff09;。 一个事件发生的过程&a…

BTrace:Java开发人员工具箱中的隐藏宝石

这篇文章是关于BTrace的 &#xff0c;我正在考虑将其作为Java开发人员的隐藏宝藏。 BTrace是用于Java平台的安全&#xff0c;动态跟踪工具。 BTrace可用于动态跟踪正在运行的Java程序&#xff08;类似于DTrace&#xff0c;适用于OpenSolaris应用程序和OS&#xff09;。 不久&am…

Spring–添加SpringMVC –第2部分

在上一部分中&#xff0c;我们为经理和员工实现了控制器。 既然我们知道了解决方法&#xff0c;我们将做很少&#xff08;但仅做很少&#xff09;更复杂的事情–任务和时间表的控制器。 因此&#xff0c;让我们从org.timesheet.web开始。 TaskController 。 首先创建一个类&…

2016 Android Top 10 Library

过去的 2016 年&#xff0c;开源社区异常活跃&#xff0c;很多个人与公司争相开源自己的项目&#xff0c;让人眼花缭乱&#xff0c;然而有些项目只是昙花一现&#xff0c;有些项目却持久创造价值&#xff0c;为开发者提供了极大的便利&#xff0c;这些终究由时间来判断。今天&a…

您在eXo平台上的第一个Juzu Portlet

菊珠是佛教的佛珠。 一句话&#xff0c;我相信您已经学到了什么&#xff0c;印象深刻吗&#xff1f; 好的&#xff0c;我在这里不谈论佛教。 Juzu还是一个用于快速开发Portlet&#xff08;以及即将推出的独立应用程序&#xff09;的新框架。 您可以在Juzu网站上找到所需的所有…

Spring注入方式及注解配置

一&#xff1a;基于xml的DI&#xff08;Dependency Injection&#xff09; 注入类型&#xff1a; 定义学生Student实体类和小汽车Car实体类&#xff1a;进行封装和生成ToString(),并自定义属性Car Student 123456789101112131415161718192021222324252627282930313233343536373…

修改readonly属性的值

一般情况下&#xff0c;readonly属性的值是无法修改的&#xff0c;但可以通过特殊方式修改。定义一个student的类&#xff0c;其中name属性为readonly类型的变量 interface JFStudent : NSObjectproperty(nonatomic,copy,readonly) NSString *hisName;property(nonatomic,copy)…

ReactNative开发环境

此内容根据徐赢老师的文档整理后写处 原版地址&#xff1a;https://tuomaxu.gitbooks.io/reactnative/content/ ReactNative是跨平开发的解决方案&#xff0c;在开发平台的选择上&#xff0c;mac平台和win平台都可以。 所需要工具如下&#xff1a; 1&#xff0c;Nodejs环境 2&a…

MediaInfo源代码分析 1:整体结构

博客地址&#xff1a;http://blog.csdn.net/leixiaohua1020/article/details/12016231 MediaInfo源代码分析系列文章列表&#xff1a; MediaInfo源代码分析 1&#xff1a;整体结构MediaInfo源代码分析 2&#xff1a;API函数MediaInfo源代码分析 3&#xff1a;Open()函数MediaI…

射线碰撞检测

在我们的游戏开发过程中&#xff0c;有一个很重要的工作就是进行碰撞检测。例如在射击游戏中子弹是否击中敌人&#xff0c;在RPG游戏中是否捡到装备等等。在进行碰撞检测时&#xff0c;我们最常用的工具就是射线&#xff0c;Unity 3D的物理引擎也为我们提供了射线类以及相关的函…

php注册登录遍写入 遍验证,自动注册登录验证机制的php代码

在phpwind站点后台添加“广告管家”(CNZZ的一款广告投放的应用)的应用&#xff0c;整个“广告管家”通过iframe载入&#xff0c;载入的具体内容根据不同站点显示针对该站点的具体内容。出于意用性方面的考虑&#xff0c;需要以下二点&#xff1a;1、首次进入“广告管家”页面自…

Apache Wicket:记住我的功能

在Web应用程序中&#xff0c;具有“记住我”功能非常普遍&#xff0c;该功能使用户每次访问我们的网站时都能自动登录。 可以使用Spring Security来实现这种功能&#xff0c;但我认为将基于请求的身份验证框架与基于组件的Web框架结合使用并不是最好的主意。 这两个世界不能很好…

Ubuntu 安装中文

系统环境&#xff1a; 1. 官网 http://pinyin.sogou.com/linux/ 下载安装包。 2. 先运行 apt-get update 。 3. 再运行 apt-get -f install 。 4. 再运行 可能有的UBuntu系统自带了。 5. 如果下载的搜狐输入法安装包的格式为 .deb 的&#xff0c; 运行 &#xff1a; dpk…

JSF组件库–质量不只是零缺陷

自从我上次研究三个主要JSF组件库的质量以来&#xff0c;已经有一段时间了。 2009年12月&#xff0c;我开始比较RichFaces&#xff0c;Primefaces和ICEfaces的整体软件质量 。 从那时起&#xff0c;事情发生了变化&#xff0c;从现在开始&#xff0c;我想重新评估和更新它。 我…

字符串匹配(KMP 算法 含代码)

主要是针对字符串的匹配算法进行解说 有关字符串的基本知识传统的串匹配法模式匹配的一种改进算法KMP算法网上一比較易懂的解说小样例1计算next 2计算nextval代码有关字符串的基本知识 串&#xff08;string或字符串&#xff09;是由零个或多个字符组成的有限序列&#xff0c;一…

serialVersionUID的作用以及如何用idea自动生成实体类的serialVersionUID

转载&#xff1a;http://blog.csdn.net/liuzongl2012/article/details/45168585 serialVersionUID的作用&#xff1a; 通过判断实体类的serialVersionUID来验证版本一致性的。在进行反序列化时&#xff0c;JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVer…

JBoss BRMS最佳实践– BPM流程初始化层的提示

我过去发布过一些有关迁移策略的文章&#xff0c;仔细研究了流程层&#xff0c;并提供了一些有关jBPM的最佳实践 &#xff0c;它们都涉及到BPM策略的非常具体的部分。 我想重新讨论最佳实践的主题&#xff0c;然后在智能集成企业级别上&#xff0c;我们讨论使用JBoss BRMS对您的…

跨站点脚本(XSS)和预防

如OWASP网站&#xff08;https://www.owasp.org/index.php/Cross-site_Scripting_(XSS&#xff09;&#xff09;所述&#xff0c;跨站点脚本&#xff08;XSS&#xff09;攻击的变种几乎是无限的。 在这里&#xff0c;我建议使用基于Servlet筛选器的解决方案来清理HTTP请求。 攻…

NoSQL入门第一天——NoSQL入门与基本概述

一、课程大纲 二、入门概述 1.为什么用NoSQL 单机MySQL的年代&#xff1a; 一个网站的访问量一般都不大&#xff0c;用单个数据库完全可以轻松应付。      我们来看看数据存储的瓶颈是什么&#xff1f;        1.数据量的总大小 一个机器放不下时。&#xff08;现…

C语言结构体及函数传递数组參数演示样例

C语言结构体及函数传递数组參数演示样例 注&#xff1a;makeSphere()函数返回Sphere结构体&#xff0c;main函数中。调用makeSphere()函数&#xff0c;传递的第一个參数为数组&#xff0c;传递的数组作为指针。posted on 2017-07-30 18:42 mthoutai 阅读(...) 评论(...) 编辑 收…