hdoj 2639 Bone Collector II (01背包的第k优解)
来源:互联网 发布:录制游戏的软件 编辑:程序博客网 时间:2024/06/07 05:35
Bone Collector II(链接)
Sample Input
35 10 21 2 3 4 55 4 3 2 15 10 121 2 3 4 55 4 3 2 15 10 161 2 3 4 55 4 3 2 1
Sample Output
1220
#include<bits/stdc++.h>using namespace std;const int maxn = 1010;int value[maxn];int weight[maxn];int dp[maxn][maxn];int main(){ int T,N,V,K; scanf("%d",&T); while(T--) { int a[maxn],b[maxn],p,x,y,z; memset(dp,0,sizeof(dp)); //注意赋初值 scanf("%d%d%d",&N,&V,&K); for(int i=0;i<N;i++) scanf("%d",&value[i]); for(int i=0;i<N;i++) scanf("%d",&weight[i]); for(int i=0;i<N;i++) { for(int j=V;j>=weight[i];j--) { for(p=1;p<=K;p++) { a[p]=dp[j-weight[i]][p]+value[i]; b[p]=dp[j][p]; } a[p]=b[p]=-1; x=y=z=1; while(z<=K&&(a[x]!=-1||b[y]!=-1)) { if(a[x]>b[y]) { dp[j][z]=a[x]; x++; } else { dp[j][z]=b[y]; y++; } if(dp[j][z]!=dp[j][z-1]) z++; } } } printf("%d\n",dp[V][K]); } return 0;}
阅读全文
0 0
- hdoj 2639 Bone Collector II (01背包的第k优解)
- HDOJ 题目2639Bone Collector II(01背包第k优解)
- HDOJ 2639 Bone Collector II(01背包第k优解)
- Hdu 2639 Bone Collector II (01背包第k优解)
- hdu 2639 Bone Collector II 01背包第K优解
- HDU 2639 Bone Collector II 01背包第K优解
- hdu 2639 Bone Collector II 01背包 第k优解
- HDU 2639 Bone Collector II 01背包第k优解
- Bone Collector II HDU - 2639 01背包,第k优解
- hdu 01背包 2639Bone Collector II 01背包的第K优解
- HDOJ 2639 Bone Collector II(01||第K大背包)
- HDU-2639-Bone Collector II(01背包的第k优解)
- Bone Collector II - HDU 2639 背包第k优解
- HDU 2639 Bone Collector II (背包 第K优解)
- hdu2639 Bone Collector II 01背包第K优解
- Bone Collector II (HDU_2639) 01背包 + 第K优解
- hdu2639 Bone Collector II(01背包第k优解)
- HDU2639:Bone Collector II(01背包第k优解)
- 求100到300间能被3整除的数的和
- 18号南京阿里C++面试经验分享
- android 项目依赖和权限
- LINUX 0.11内核完全剖析学习笔记-第三章内核编程语言和环境
- php基础汇总
- hdoj 2639 Bone Collector II (01背包的第k优解)
- 安卓网络请求 httpconnection
- 云邦互联 免费空间
- Android引入react native
- 算法提高 盾神与条状项链
- Intellij IDEA设置(一) main方法自动补全
- Node.js Modules 模块
- 3D轮播
- Java配置文件Properties的读取、写入与更新操作