Bone Collector II
来源:互联网 发布:软件测试条件逻辑 编辑:程序博客网 时间:2024/06/15 00:51
Bone Collector II
Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4835 Accepted Submission(s): 2519
Problem Description
The title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup" competition,you must have seem this title.If you haven't seen it before,it doesn't matter,I will give you a link:
Here is the link:http://acm.hdu.edu.cn/showproblem.php?pid=2602
Today we are not desiring the maximum value of bones,but the K-th maximum value of the bones.NOTICE that,we considerate two ways that get the same value of bones are the same.That means,it will be a strictly decreasing sequence from the 1st maximum , 2nd maximum .. to the K-th maximum.
If the total number of different values is less than K,just ouput 0.
Here is the link:http://acm.hdu.edu.cn/showproblem.php?pid=2602
Today we are not desiring the maximum value of bones,but the K-th maximum value of the bones.NOTICE that,we considerate two ways that get the same value of bones are the same.That means,it will be a strictly decreasing sequence from the 1st maximum , 2nd maximum .. to the K-th maximum.
If the total number of different values is less than K,just ouput 0.
Input
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, K(N <= 100 , V <= 1000 , K <= 30)representing the number of bones and the volume of his bag and the K we need. 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.
Followed by T cases , each case three lines , the first line contain two integer N , V, K(N <= 100 , V <= 1000 , K <= 30)representing the number of bones and the volume of his bag and the K we need. 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.
Output
One integer per line representing the K-th maximum of the total value (this number will be less than 231).
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<iostream>#include<cstring>using namespace std;int dp[2000][100],t,n,w[105],v[105],a[50],b[50];int main(){int c,k;cin>>t;while(t--){memset(dp,0,sizeof(dp));cin>>n>>c>>k;for(int i=1;i<=n;i++){cin>>v[i];}for(int j=1;j<=n;j++){cin>>w[j];}int kk;for(int i=1;i<=n;i++){for(int j=c;j>=w[i];j--){for(kk=1;kk<=k;kk++){a[kk]=dp[j-w[i]][kk]+v[i];b[kk]=dp[j][kk];}int A=1,B=1,C=1;a[kk]=-1;b[kk]=-1;while(C<=k&&(a[A]!=-1||b[B]!=-1)){if(a[A]>b[B]){dp[j][C]=a[A];A++;}else {dp[j][C]=b[B];B++;}if(dp[j][C]!=dp[j][C-1])C++;}}}cout<<dp[c][k]<<endl;}return 0;}
阅读全文
1 0
- Bone Collector II
- 【HDU2639】Bone Collector II
- hdu2639 Bone Collector II
- 【hdu2639】【Bone Collector II】
- hdu2639 Bone Collector II
- Bone Collector II
- Bone Collector II
- HDU Bone Collector II
- HDU2639-Bone Collector II
- 2639.Bone Collector II
- Bone Collector II
- Bone Collector II
- HDU2639 Bone Collector II
- hdu2639 Bone Collector II
- hdu Bone Collector II
- hdu 2639 Bone Collector II
- HDOJ 2639 Bone Collector II
- Hdu 2639 Bone Collector II
- hive优化
- 求最小公倍数
- Android7.0中文文档(API)-- SimpleAdapter
- VS2015使用C#6.0中的那些新特性
- 5-1 正整数A+B (15分)
- Bone Collector II
- bzoj1690[Usaco2007 Dec]奶牛的旅行 01分数规划+spfa(最优比率环)
- 集合总结
- 关于Quartus ||13.0运行过程中许可证不支持芯片的问题
- 企业模板:网络公司网站整站织梦模板
- 【VS开发】【视频开发】利用ffmpeg+opencv实现画中画
- Java设计模式之统一建模语言UML
- CDN
- FFmpeg滤镜使用指南