当前位置:网站首页>HDU 2602: Bone Collector ← 0-1背包问题
HDU 2602: Bone Collector ← 0-1背包问题
2022-08-01 14:33:00 【hnjzsyjyj】
【题目来源】
http://acm.hdu.edu.cn/showproblem.php?pid=2602
【题目描述】
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 ?
【数据输入】
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.
【数据输出】
One integer per line representing the maximum of the total value (this number will be less than 2^31).
【算法代码】
#include <bits/stdc++.h>
using namespace std;
const int maxn=1005;
int c[maxn][maxn];
int val[maxn],vol[maxn];
int main(){
int t,N,V;
cin>>t;
while(t--){
cin>>N>>V;
for(int i=1;i<=N;i++)
cin>>val[i];
for(int i=1;i<=N;i++)
cin>>vol[i];
for(int i=0;i<=N;i++)
c[i][0]=0;
for(int j=0;j<=V;j++)
c[0][j]=0;
for(int i=1;i<=N;i++)
for(int j=0;j<=V;j++)
if(j<vol[i]) c[i][j]=c[i-1][j];
else c[i][j]=max(c[i-1][j],c[i-1][j-vol[i]]+val[i]);
cout<<c[N][V]<<endl;
}
return 0;
}
/*
in:
1
5 10
1 2 3 4 5
5 4 3 2 1
out:
14
*/
【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/126067759
https://blog.csdn.net/hnjzsyjyj/article/details/125944790
边栏推荐
猜你喜欢
随机推荐
opencv 保存图片imwrite
MBI5020 LED驱动
Pytorch —— 分布式模型训练
Yann LeCun开怼谷歌研究:目标传播早就有了,你们创新在哪里?
SQL查询语句之查询数据
「计算复杂性」理论奠基人Juris Hartmanis逝世,曾获93年图灵奖
DaemonSet of kubernetes and rolling update
tkinter-TinUI-xml实战(6)问卷
安培龙IPO过会:年营收5亿 同创伟业与中移创新是股东
AtCoder Beginner Contest 261 D - Flipping and Bonus
灵魂发问:MySQL是如何解决幻读的?
Gradle series - Gradle tests, Gradle life cycle, settings.gradle description, Gradle tasks (based on Groovy documentation 4.0.4) day2-3
只知道SQL数据库?又一国产数据库语言诞生了
Performance Optimization - Resource Optimization Notes
性能优化——粒子优化笔记
【每日一题】1161. 最大层内元素和
利用UIRecorder做页面元素巡检
易优压双驱挖掘机压路机器类网站源码 v1.5.8
Gradle系列——Gradle测试,Gradle生命周期,settings.gradle说明,Gradle任务(基于Groovy文档4.0.4)day2-3
微信UI在线聊天源码 聊天系统PHP采用 PHP 编写的聊天软件,简直就是一个完整的迷你版微信









