01背包-hdu-2602 Bone Collector
来源:互联网 发布:linux启动oracle应用 编辑:程序博客网 时间:2024/05/22 02:01
题意:
T组数据
N个石头,VOC背包容量。
第一行石头价值
第二行石头花费
二维的:
#include <iostream>#include <algorithm>#include <stdio.h>#include <cstring>using namespace std;int dp[1005][1005];int val[1005];int price[1005];int main(){ int T; cin>>T; while(T--) { int n,voc; cin>>n>>voc; for(int i=1;i<=n;i++) scanf("%d",&val[i]); for(int i=1;i<=n;i++) scanf("%d",&price[i]); memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) { for(int j=0;j<=voc;j++) { if(price[i]>j) dp[i][j]=dp[i-1][j]; else dp[i][j]=max(dp[i-1][j],dp[i-1][j-price[i]]+val[i]); } } cout<<dp[n][voc]<<endl; } return 0;一维的;
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <cstring>
using namespace std;
int dp[1005];
int val[1005];
int price[1005];
int main()
{
int T;
cin>>T;
while(T--)
{
int n,voc;
cin>>n>>voc;
for(int i=1;i<=n;i++)
scanf("%d",&val[i]);
for(int i=1;i<=n;i++)
scanf("%d",&price[i]);
memset(dp,0,sizeof(dp));
for(int i=1;i<=n;i++)
{
for(int j=voc;j>=price[i];j--)
{
dp[j]=max(dp[j],dp[j-price[i]]+val[i]);
}
}
cout<<dp[voc]<<endl;
}
return 0;
}
0 0
- hdu 2602 (01 背包)Bone Collector
- hdu 2602 Bone Collector 01背包
- hdu 2602 Bone Collector 01背包
- hdu 2602 Bone Collector (01背包)
- hdu 2602 Bone Collector【01背包】
- hdu 2602 Bone Collector 简单01背包
- hdu 2602 Bone Collector(01背包)
- hdu 2602 Bone Collector (01背包)
- HDU 2602 Bone Collector(裸01背包)
- HDU 2602 Bone Collector( 01背包 )
- HDU 2602 Bone Collector(01背包)
- hdu 2602 Bone Collector 01背包
- HDU 2602 Bone collector 01背包
- hdu 2602 Bone Collector (01背包 )
- hdu 2602 Bone Collector (01背包)
- HDU 2602 Bone Collector (01背包)
- HDU--2602 -- Bone Collector [01背包]
- HDU 2602 Bone Collector(01背包)
- codeforces #375(div.2) 723E One-Way Reform 欧拉回路或网络流
- mesh collider使用的注意
- noip2013华容道
- web技术-新手入门
- centos7使用yum安装mariaDB(开源MySQL)无法启动的解决办法
- 01背包-hdu-2602 Bone Collector
- My SQL 插入数据
- [心得]基于jenkins+git+Artifactory的CICD方案
- noip2014飞扬的小鸟
- A Useful Thing
- 服务的开启,停止。
- 英语学习录——2016年9月
- P NP NPC NP-hard问题的区别
- Android中常见的内存泄漏汇总