捡骨头(hdu2602)
来源:互联网 发布:ov7670 51单片机引脚图 编辑:程序博客网 时间:2024/04/27 13:26
题目概述:
一个人捡骨头,他有一个包,包有最大容量,骨头有体积和价值。求在包承受范围内能获得的最大价值。
题目思路:
典型背包问题,赤裸裸的0/1背包……
一个人捡骨头,他有一个包,包有最大容量,骨头有体积和价值。求在包承受范围内能获得的最大价值。
题目思路:
典型背包问题,赤裸裸的0/1背包……
#include<iostream>#include<cstring>#include<cstdio>using namespace std;bool f[1010];int ans[1010],a[1010],b[1010];int max(int a,int b){ return a>b?a:b;}int main(){ int t,n,v; cin>>t; while (t--) { cin>>n>>v; for (int i=1;i<=n;i++) scanf("%d",&b[i]); for (int i=1;i<=n;i++) scanf("%d",&a[i]); memset(f,0,sizeof(f)); memset(ans,0,sizeof(ans)); f[0]=1; for (int i=1;i<=n;i++) for (int j=v-a[i];j>=0;j--) if (f[j]) { f[j+a[i]]=1; ans[j+a[i]]=max(ans[j+a[i]],ans[j]+b[i]); } int tmp=0; for (int i=v;i>=0;i--) if (tmp<ans[i]) tmp=ans[i]; printf("%d\n",tmp); }}
0 0
- 捡骨头(hdu2602)
- hdu-2602 捡骨头(dp)
- hdu2602(01背包)
- HDU2602(01背包)
- hdu2602(01背包)
- hdu2602
- hdu2602
- hdu2602
- hdu2602
- hdu2602
- HDU2602
- hdu2602
- hdu2602
- HDU2602
- hdu2602
- HDU2602
- HDU2602
- HDU2602
- Aggressive cows
- Best Cow Line
- Cable Master
- Android中EditText控件的几种使用方法
- 统计电话(poj 1002)
- 捡骨头(hdu2602)
- 金币(hdu1114)
- 逆序对(hdu2838)
- 开关
- 采药
- 彩色项链
- 阿凡提的烦恼
- 敌兵布阵
- 第k极值