首页 > 其他分享 >HDU 2639 Bone Collector II

HDU 2639 Bone Collector II

时间:2022-10-25 17:08:15浏览次数:63  
标签:HDU int maximum value II th integer include Collector


题目链接:​​传送门​​​ 题面:

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.

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.

Output

One integer per line representing the K-th maximum of the total value (this number will be less than 231).

Sample Input

3
5 10 2
1 2 3 4 5
5 4 3 2 1
5 10 12
1 2 3 4 5
5 4 3 2 1
5 10 16
1 2 3 4 5
5 4 3 2 1

Sample Output

12
2
0

题目大意:

组数据,每组数据输入,分别为物品的数量,背包的容量,和你要求的第优解,每种物品只有一个,输出装这个背包的第优解

很经典的求第优解的板子,如果有不大懂的去看我另一篇博客​​​点这里​

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <complex>
#include <algorithm>
#include <climits>
#include <queue>
#include <map>
#include <vector>
#include <iomanip>
#define
#define
#define

using namespace std;
int f[1010][50];
int n, V, k, v[A], w[A], a[A], b[A];

int main() {
int T;
cin >> T;
while (T--) {
cin >> n >> V >> k;
for (int i = 1; i <= n; i++) cin >> v[i];
for (int i = 1; i <= n; i++) cin >> w[i];
memset(f, 0, sizeof f);
memset(a, 0, sizeof a);
memset(b, 0, sizeof b);
for (int i = 1; i <= n; i++) {
for (int j = V; j >= w[i]; j--) {
for (int l = 1; l <= k; l++) {
a[l] = f[j][l];
b[l] = f[j - w[i]][l] + v[i];
}
a[k + 1] = -1;
b[k + 1] = -1;
int x = 1, y = 1, o = 1;
while (o != k + 1 and (a[x] != -1 or b[y] != -1)) {
if (a[x] > b[y]) f[j][o] = a[x], x++;
else f[j][o] = b[y], y++;
if (f[j][o] != f[j][o - 1]) o++;
}
}
}
cout << f[V][k] << endl;
}
}


标签:HDU,int,maximum,value,II,th,integer,include,Collector
From: https://blog.51cto.com/lyle/5794941

相关文章

  • HDU 1712 ACboy needs your help
    题目链接:​​传送门​​题面:ACboyneedsyourhelpProblemDescriptionACboyhasNcoursesthisterm,andheplanstospendatmostMdaysonstudy.Ofcourse,the......
  • HDU 2159 FATE
    题目链接:​​传送门​​题面:FATEProblemDescription最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又......
  • HDU 3466 Pround Merchants
    题目链接:​​传送门​​题面:ProudMerchantsProblemDescriptionRecently,iSeawenttoanancientcountry.Forsuchalongtime,itwasthemostwealthyandpow......
  • HDU 1171 Big Event In HDU
    题目链接:​​传送门​​BigEventinHDUProblemDescriptionNowadays,weallknowthatComputerCollegeisthebiggestdepartmentinHDU.But,maybeyoudon’t......
  • HDU 3535 AreYouBusy
    题目链接:​​传送门​​题面:AreYouBusyProblemDescriptionHappyNewTerm!Ashavingbecomeajunior,xiaoArecognizesthatthereisnotmuchtimeforhertoAC......
  • HDU 2844 Coins
    题目链接:​​传送门​​​题面:ProblemDescriptionWhuacmersusecoins.TheyhavecoinsofvalueA1,A2,A3…AnSilverlanddollar.OnedayHibixopenedpurseandfoun......
  • HDU 1203 I NEED A OFFER!
    题目链接:​​传送门​​题面:INEEDAOFFER!ProblemDescriptionSpeakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了......
  • HDU 1114 Piggy-Bank
    题目链接:​​传送门​​Piggy-BankProblemDescriptionBeforeACMcandoanything,abudgetmustbepreparedandthenecessaryfinancialsupportobtained.Them......
  • HDU 2546 饭卡
    题目链接:​​传送门​​题面:ProblemDescription电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一......
  • HDU 2602 Bone Collector
    题目链接:​​传送门​​​题面:ProblemDescriptionManyyearsago,inTeddy’shometowntherewasamanwhowascalled“BoneCollector”.Thismanliketocollec......