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,一经查实,立即删除!

相关文章

java线程实现排序_【多线程实现快速排序】

快速排序算法实现文件QuickSort.javapackage quick.sort;import java.util.concurrent.Callable;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class QuickSort implements Callable{private int[] array;private final in…

使用Gitolite搭建Gitserver

Gitolite是一款Perl语言开发的Git服务管理工具。通过公钥对用户进行认证。并可以通过配置文件对些操作进行基于分支和路径的精细控制。Gitolite採用的是SSH协议而且使用SSH公钥认证。因此不管是管理员还是普通用户。都须要对SSH有所了解。Gitolite的官网是&#xff1a;https://…

java任务分支和合并_合并/分支战略

我会给出与Adarsh Shah相同的建议&#xff0c;因为在大多数情况下&#xff0c;2个分支(MAIN&#xff0c;RELEASE)就足够了&#xff0c;并且使用feature branches用于你不想立即提交到MAIN的东西&#xff0c;因为它需要一段时间才能完全准备好测试 . 通过RELEASE&#xff0c;我指…

Spring安全:防止暴力攻击

Spring Security可以为您做很多事情。 帐户被封锁&#xff0c;密码盐。 但是蛮力阻断剂呢&#xff1f; 那是你必须自己做的。 幸运的是&#xff0c;Spring是一个非常灵活的框架&#xff0c;因此对其进行配置并不是什么大问题。 让我向您展示一些如何针对Grails应用程序执行…

NopCommerce计划任务

NopCommerce计划任务转载于:https://www.cnblogs.com/chenjz/p/6293210.html

简单谈谈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…

python 图片转视频ffmpeg_python图片转视频(opencv),ffmpeg压缩视频

要注意&#xff1a;1. 图片传视频要自己设置帧率和分辨率2.读取图片后分辨率要resize为和视频分辨率一样才可以3.写完.avi视频后视频比较大&#xff0c;用ffmpeg将avi视频压缩为mp4import cv2from cv2 import VideoWriter, VideoWriter_fourcc, imread, resizeimport osfrom su…

门面模式

门面模式的定义 门面模式&#xff08;Facade Pattern&#xff09;也叫做外观模式&#xff0c;是一种比较常用的封装模式&#xff0c;其定义如 下&#xff1a; Provide a unified interface to a set of interfaces in a subsystem.Facade defines a higher-level interface tha…

Mysql数据库申请

前段时间大部门下新成立了一个推广百度OCR、文字识别、图像识别等科技能力在金融领域应用的子部门。因为部门刚成立&#xff0c;基础设施和人力都是欠缺的。当时分到我们部门的任务是抽调一个人做新部门主站前端开发工作。本来说的是只负责页面的开发工作。当我参加过需求品审会…

Spring–添加SpringMVC –第2部分

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

php 正则分隔_探讨PHP函数split()如何使用正则表达式切割字符串

对于初学者来说&#xff0c;掌握PHP中常用函数的用法&#xff0c;是其继续学习的基础。今天我们就为大家详细介绍有关PHP函数split()的一些使用方法&#xff0c;希望大家能通过这篇文章介绍的内容增加自己的知识库。说明array split ( string $pattern, string $string [, int …

通用的ProtostuffSerializer for Java

以前使用 protobuf或protostuff的时候觉得很麻烦&#xff0c;每个类都要单独定制&#xff0c;于是封装了一个类。 同事测试过&#xff0c;性能和压缩率都很好&#xff0c;尤其是相比json的序列化。 需注意&#xff1a;只支持Pojo类&#xff08;即需要有get/set方法&#xff09;…

SAS笔记(6) PROC MEANS和PROC FREQ

PROC MEANS和PRC FREQ在做描述性分析的时候很常用&#xff0c;用法也比较简单&#xff0c;不过这两个过程步的某些选项容易忘记&#xff0c;本文就梳理一下。 在进入正文前&#xff0c;我们先创建所需的数据集TEST_SCORES&#xff1a; DATA TEST_SCORES; INPUT COUNTY : $9. SC…

休眠:保存vs持久并保存或更新

save和saveOrUpdate之间的区别是什么或save和persist之间的区别是任何Hibernate面试中常见的面试问题&#xff0c;就像Hibernate中get和load方法之间的区别一样。 Hibernate Session类提供了几种通过save &#xff0c; saveOrUpdate和persist等方法将对象保存到数据库中的方法。…

php搜索数据库设计,PHP数据库搜索功能设计

其实搜索功能的设计很简单&#xff0c;几行代码就可以完成。下面是form表单。从表单发出的数据名为search&#xff0c;然后发送到../admin/article_SearchResult.php这个文件处理。下面讲下article_SearchResult.php这个文件如何实现搜索。$searchs $_POST[‘search‘];?>…

2016 Android Top 10 Library

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

集成JavaFX和Swing

我刚刚完成了对使用Swing的应用程序组件的重写&#xff0c;现在正在使用JavaFX&#xff0c;最后得到了与更大的swing应用程序集成的JavaFX组件。 这是一个很大的应用程序&#xff0c;重写花了我一段时间&#xff0c;最后一切都很好&#xff0c;我很高兴自己做到了。 您可能想在…

提示错误:“应为“providerInvariantName”参数的非空字符串。”

我在调试Petapoco的T4模版的时候&#xff0c;链接一直报如题那个错误。在定性问题为配置文件后找的原因如下&#xff1a; <connectionStrings><add name"这个不行" connectionString"Data Sourcexxx;Initial Catalog数据库名;User ID帐号;Password密码…

php oop面试题,PHP面试题 - 对面向对象的理解

具体的题目应该是&#xff1a;什么是面向对象&#xff1f;主要的特征是什么&#xff1f;当然还有很多类似的题目&#xff0c;如果你说一下你对面向对象的理解&#xff0c;或者是你对比一下面向过程等等&#xff0c;诸如此类吧&#xff1f;如果我来回答这个问题&#xff0c;我会…