HDUOJ--Bone Collector
Bone Collector
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 21463 Accepted Submission(s): 8633
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 ?
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.
背包问题.....一定要多练习...
代码:----
#include<stdio.h>
#include<string.h>
#define maxn 1005
int dp[maxn],arr[maxn][];
int max(int a,int b)
{
return a>b?a:b;
} void zeroonepack(int cost ,int value,int v)
{
for(int i=v;i>=cost;i--)
dp[i]=max(dp[i],dp[i-cost]+value); }
int main()
{
int t,n,v ,i;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&v);
memset(dp,,sizeof dp);
for(i=;i<n;i++)
{
scanf("%d",arr[i]+);
}
for(i=;i<n;i++)
{
scanf("%d",arr[i]+);
}
for(i=;i<n;i++)
zeroonepack(arr[i][],arr[i][],v);
printf("%d\n",dp[v]);
}
return ;
}
优化后代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct st
{
int a;
int b;
};
typedef struct st sta;
int main()
{
int test,n,v,i,j;
scanf("%d",&test);
while(test--)
{
scanf("%d%d",&n,&v);
int *dp =(int *)malloc(sizeof(int)*(v+));
sta *stu =(sta *)malloc(sizeof(sta)*(n+));
for(i=;i<n;i++)
scanf("%d",&stu[i].a);
for(i=;i<n;i++)
scanf("%d",&stu[i].b);
for(i=;i<=v;i++)
dp[i]=; for(i=;i<n;i++)
{
for(j=v ; j>=stu[i].b ; j--)
{
if(dp[j]<dp[j-stu[i].b]+stu[i].a)
dp[j]=dp[j-stu[i].b]+stu[i].a;
}
}
printf("%d\n",dp[v]);
free(dp);
free(stu);
}
return ;
}
HDUOJ--Bone Collector的更多相关文章
- hdu 2602 Bone Collector(01背包)模板
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/Ot ...
- HDU 2602 Bone Collector WA谁来帮忙找找错
Problem Description Many years ago , in Teddy’s hometown there was a man who was called “Bone Collec ...
- Bone Collector(01背包)
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87125#problem/N 题目: Description Many year ...
- HDU 3639 Bone Collector II(01背包第K优解)
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Bone Collector II
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- HDU 2602 Bone Collector (简单01背包)
Bone Collector http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , i ...
- hdu 2602 Bone Collector 背包入门题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 题目分析:0-1背包 注意dp数组的清空, 二维转化为一维后的公式变化 /*Bone Coll ...
- hdu 2639 Bone Collector II
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- 杭电 2602 Bone Collector
Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- HDU 2602 Bone Collector
http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/Others) ...
随机推荐
- Latex初学者入门(三)-- 用BibTeX生成参考文献
昨boss要往期Elsevier 刊投文章,距上次排版貌似过了好久,生疏了不少,翻出以前的写的一些笔记再复习复习. 不过这次好多了,仅仅是改个格式,原始的文章已经用latex编写过了(个人感觉最头疼的 ...
- SXH232摄像头使用示范
It occurred to me suddenly that I wanted to program the our camera sensor for PC desktop, just like ...
- scala编程第17章学习笔记(3)
可变(mutable)集合与不可变(immutable)集合 为了更易于完成不可变集合到可变集合的转换,或者反向转换,Scala提供了一些语法糖.纵使不可变集和映射并不支持真正的+=方法,Scala还 ...
- DELPHI中千万别直接使用CreateThread ,建议使用BeginThread(在C++中无大问题,可是到了DELPHI中情况就不一样了)
以前在写个别程序的时候老是喜欢使用纯API编程. 在C++中无大问题,可是到了DELPHI中情况就不一样了. 当你用 DELPHI写的多线程程序莫名其妙的内存错误,特别是字符串(string)操作; ...
- [转]【Delphi】 Thread.Queue与Synchronize的区别
前话: 其实大家要学会看源码, 我接下来要说的这些东东,与其等别人讲,还不如自己搞几个代码试一下,印象还深刻点 TThread.Queue和TThread.Synchronize的区别,效果上:二者 ...
- GoLang中面向对象的三大特性
有过 JAVA 语言学习经历的朋友都知道,面向对象主要包括了三个基本特征:封装.继承和多态.封装,就是指运行的数据和函数绑定在一起,JAVA 中主要是通过 super 指针来完成的:继承,就是指 cl ...
- GO语言基础之struct
结构struct 1. Go 中的struct与C中的struct非常相似,并且Go没有class 2. 使用 type <Name> struct{} 定义结构,名称遵循可见性规则(即首 ...
- 县级以上联动js实现无需数据库的行政区域下拉控件
代码共享url: http://code.google.com/p/region-select-js/ 数据已经更新到中国统计局网站中的2012年的那批数据(制作后未核对); 下拉使用div模拟实现. ...
- 在Foreda上安装apache-tomcat-7.0.42.tar.gz
开发环境JDK和Tomcat应该和部署环境一致,要不容易出现奇奇怪怪的问题.所以Aspire机器上的Tomcat要装一个新版本了. 装Tomcat基本等于一个解压和移动的过程,确实简单. 第一步:解压 ...
- (回溯法)和为n的所有不增正整数和式分解算法
题目: 利用递归算法输出正整数和为n的所有不增的正整数和式.例如当n=5时,不增的和式如下: 5=5 5=4+1 5=3+2 5=3+1+1 5=2+2+1 5=2+1+1+1 5=1+1+1+1+1 ...