杭电-2639Bone Collector II

COMSOL后处理与可视化 公众号→【COMSOL仿真交流】←更多精彩内容 后处理是采用COMSOL建模的一个重要环节。通过软件自带的可视化工具,可以快速方便的展现仿真结果。 COMSOL为使用者提供了多种后处理工具,包括表面图、切面图、等值线图、流线图、线图、体图等等。可按功能分为数据集(储存数据的地方)、派生值和表单(对数据进行进一步的操作)、绘图组合绘图类型(显示数据结果的地方)、导出数据与生成报告。   如果想用origin、matlab对模拟数据做进一步的处理,导出excel格式的模拟结果,这可以通过“导出 阅读详情

Bone Collector II

Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3208    Accepted Submission(s): 1663


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 2 31).
 

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
 

01背包的变形体,这次不是让背包的容量最大了,是要求出给定的第K大

我不是很理解,大概意思就是说,把每一种容量的背包的前K种方法都写出来!


下面是我借鉴的别人的解释:



题意:给出一行价值,一行体积,让你在v体积的范围内找出第k大的值.......(注意,不要 和它的第一题混起来,它第一行是价值,再是体积)

思路:首先dp[i][j]代表的是在体积为i的时候第j优解为dp[i][j]......那么,我们就可以这样思考,i对应体积,那么如果只是一维的dp[i],代表的应该是体积为i时的最大值,那么同理,dp[i][1]代表的是体积为i时的最大值,那么我们就可以退出两种动态,dp[i][m],dp[i-s[i][0]][m]+s[i][1].....然后把这两种状态开个两个数组分别保存起来,再合并出体积为i时的前k优解......依次后推,直到dp[v][k].......


下面代码:




#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int f[1010][33];
int main()
{
	int N,i,j,v,n,k,val[110],vol[110];
	scanf("%d",&N);
	while(N--)
	{
		scanf("%d%d%d",&n,&v,&k);
		for(i=0;i<n;i++)
		scanf("%d",&val[i]);
		for(i=0;i<n;i++)
		scanf("%d",&vol[i]);
		
		memset(f,0,sizeof(f));
		
		int a[50],b[50],kk;
		for(i=0;i<n;i++)
			for(j=v;j>=vol[i];j--)
			{
				for(kk=0;kk<k;kk++)
				{
					a[kk]=f[j-vol[i]][kk]+val[i];
					b[kk]=f[j][kk];
				}
				a[k]=b[k]=-1;
				int x=0,y=0,z=0;
				while(z<k&&(a[x]!=-1||b[y]!=-1))
				{
					if(a[x]>b[y])
						f[j][z]=a[x++];
					else 
						f[j][z]=b[y++];
					if(f[j][z]!=f[j][z-1])
						z++;
				}
			}
			printf("%d\n",f[v][k-1]);
	}
	return 0;
}



手把手教你用Foobar2000播放DSD音频(含DOP设置与SPDIF输出教程) 本文详细指导如何在Foobar2000中播放DSD音频,重点解析了DOP协议的原理与设置方法。通过安装SACD插件、配置输出设备及启用DOP模式,实现DSD音频的原生比特流输出,并特别讲解了如何通过SPDIF接口传输DSD信号,帮助发烧友充分释放高清音频设备的潜力。 阅读详情

相关推荐

ENVI 5.3与IDL 8.5安装指南:从下载到激活的完整流程

本文提供了一份详细的ENVI 5.3与IDL 8.5安装教程,涵盖从获取安装包、运行主程序、安装许可证到关键文件替换的完整流程。指南重点解决了激活过程中的常见问题,并分享了个人实践经验,旨在帮助用户,特别是遥感图像处理初学者,一次性顺利完成软件部署,为后续的科研与开发工作奠定基础。

weixin_29213827的博客 545

Bone Collector(01背包问题-两种写法)

Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … The bone collector had a big bag with a volume of V ,and along his trip of

m0_58245389的博客 472

Autosar Os降低CPU负载的方案总结

由于各个项目的实际场景不尽相同,可能需要有针对性的对症优化。如果你还有别的一些优化手段欢迎留言交流。

3677

Bone Collector(01背包问题)详解

Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … The bone collector had a big bag with a volume of V ,and along his trip of

Fau的博客 1406

用WorkBuddy搭建漫剧AI自动化制作流水线全攻略

在内容创作领域,AI智能体正逐渐从单一工具辅助走向全流程自动化调度。其核心原理是将剧本、分镜、绘图、配音、剪辑等环节拆解为可独立执行的任务单元,由总控系统统一协调,从而大幅降低人力与时间成本。这种模式尤其适用于动态漫画(漫剧)这类环节多、专业度要求高的视频形态。传统制作流程中,角色一致性、配音周期和剪辑返工是公认的效率瓶颈,而借助AI智能体工作台,创作者只需输入故事创意,即可驱动多个数字分身协同完成内容生产。本文以WorkBuddy为例,详细展示如何配置模型、安装技能包并串联五段式流水线,将单集制作成本从万

weixin_28224217的博客 251

Skyworks SKY85331-11的Wi-Fi 6 (802.11ax)标准 2.4G 高功率WLAN前端模块解决方案

SKY85331-11是高度集成的2 GHz前端模块(FEM)包含2 GHz单刀双掷(SPDT)发送/接收(T / R)开关,2 GHz低噪声放大器(LNA)带旁路和一个2 GHz功率放大器(PA),用于大功率802.11ax应用程序和系统LNA和PA禁用功能可确保低漏电流 关闭模式。 包括一个集成的功率检测器以提供系统内的闭环功率控制。该设备提供Small (24-pin, 3 x 5 mm) (LGA)封装。 图1.引脚配置和封装如图所示 图2.信号引脚分配和功能引脚描述 图...

zhangbao19890622的博客 4504

HDU 2639 - Bone Collector II (第K优解)

Bone Collector II 题目链接:HDU 2639 Bone Collector II 本题要求的是第K优解,我们在01背包中,每次求得的是当前下的最优解,也就是说max()每次都取了最好的那个解,这里要求的是第K优解,我们改变一下max这里的求解过程,改为求K个解,从最优解一直到第K优解。用a[l]表示在背包容量为l的情况下,当前物品i(前i件物品)不放进背包,背包的价值。用b[l]表示在背包容量为l的情况下,当前物品i(前i件物品)放进背包,背包的价值。在当前物品的情况下,总共有2.

热爱编程,热爱技术 312

COD论文笔记VSCode: General Visual Salient and Camouflaged Object Detection with 2D Prompt Learning

VSCode模型通过引入领域特定提示和任务特定提示,结合提示区分损失,成功地在单一模型中处理多个显著目标检测和伪装目标检测任务。这种方法不仅提高了模型的性能,还展示了其对未见任务的泛化能力。作者使用 Visual saliency transformer ICCV 2021 作为baseline model这张图展示了VSCode模型的整体框架,特别强调了2D提示学习方法。

985小菜鸡 1627

Bone Collector(骨头收集器) ---01背包 记录

问题描述 多年前,在泰迪的家乡,有一个人叫“骨头收藏家”。这个人喜欢收集各种各样的骨头,狗的,牛的,他也去坟墓了…… 收集骨头的人有一个V体积的大袋子,在他收集的过程中,骨头有很多,显然,不同的骨头有不同的价值和不同的体积,现在给定每根骨头在旅途中的价值,你能计算出骨头收集器能得到的总价值的最大值吗? 输入 第一行包含一个整数 T ,即案例数。 后面是T个case,每个case三行,第一行包含两个整数N,V,(N <= 1000 , V <= 1000 )代表骨头的数量和他包的体积。第二行包含

Hundreds_N的博客 1124

Anaconda安装教程傻瓜教程

网上好多教程找的我心好累,为了方便新手安装,我这边整理了大致详细的教程,参考了好几个大佬的教程,废话不多说,直接开始~ **前言:**有人纠结先安装python还是安装anaconda,这边的建议是装anaconda,就不需要单独装python了。 其次,有小伙伴的Anaconda的安装分两种情况: 情况一:电脑现在没有装python或者现在装的可以卸载掉(装Anaconda时先卸python); 情况二:电脑目前装了python,但想保留它;

zlc2351951436的博客 5万+

数字电路实验避坑指南:如何正确搭建主从JK触发器测试电路(附Proteus仿真)

本文详细解析了主从JK触发器的工作原理及实验搭建指南,重点解决了常见的Catching Problem现象,并提供了Proteus仿真优化方案。通过元器件选型、电路连接步骤和常见错误排查,帮助读者正确搭建测试电路,确保数字电路实验的稳定性和可靠性。

weixin_30790841的博客 469

Bone Collector II(DP+第K优解)

Bone Collector II HDU - 2639 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,i...

weixin_30580943的博客 104

智联招聘Python岗位数据采集:基于API请求的校园招聘信息爬取实战

本项目开发了一个智联招聘Python岗位校园招聘数据采集系统,采用requests库直接调用API接口获取结构化数据。系统通过分析API接口结构,配置完整的请求头、Cookie和身份验证参数,实现了10页数据的批量采集。采集内容包括工作名称、薪资范围、企业信息等10个关键字段,并存储为Excel格式。项目严格遵守网络爬虫规范,合理控制请求频率,数据仅用于技术学习和就业分析。技术实现涉及API逆向工程、JSON数据处理、防御性编程等核心技能,为学生职业规划和教育机构教学改革提供数据支持。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 626

杭电2639 Bone Collector II(01背包第K优解)

Bone Collector II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2287    Accepted Submission(s): 1198 Problem Description The title of

听自己心跳的声音 1126

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

杭电 2639 Bone Collector II【01背包第k优解】

解题思路:对于01背包的状态转移方程式f[v]=max(f[v],f[v-c[i]+w[i]]);其实01背包记录了每一个装法的背包值,但是在01背包中我们通常求的是最优解, 即为取的是f[v],f[v-c[i]]+w[i]中的最大值,但是现在要求第k大的值,我们就分别用两个数组保留f[v]的前k个值,f[v-c[i]]+w[i]的前k个值,再将这两个数组合并,取第k名。 即f的数组会增加一维...

weixin_30364147的博客 106

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【杭电oj】2639 - Bone Collector II(Kth-ZeroOnePack)

题目 题意求出Kth大的背包价值,不同组成但价值相同的背包视为同一种。 经典问题,一个比较详细的解答:https://blog.youkuaiyun.com/Lulipeng_cpp/article/details/7584981 AC代码: #include&amp;lt;iostream&amp;gt; #include&amp;lt;string.h&amp;gt; using namespace std; int co...

Dicer_的博客 197

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

HDOJ 2639 Bone Collector II(01背包第k优解)

Bone Collector II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4198    Accepted Submission(s): 2184 Problem Description The titl

想飞的小菜鸡 494

hdu2639——Bone Collector II——————【01背包、第k优解】

/**    解题思路:由于是让求第k优解问题,所以这里不再用转移方程,而是将转移过程转化成加入该件物品形成的有序序列tmpa[]和不加入该件物品形成的有序序列tmpb[]合并的过程。引用看到的一个例子:”如果想在全校找前十名的学生,只需要将各班的前十名合并后找前十即可“。 */ /**    题目大意:给你t组测试数据,每组测试数据包含n,v,k。然后是两行分别代表第i件物品的价值和

被虐的goshawk 705

HDU - 2639:Bone Collector II (01背包第k优解)

HDU2639:Bone Collector II(01背包第k优解) http://acm.hdu.edu.cn/showproblem.php?pid=2639 这题是上面那道的续题,求的是第 K 优解。 在01的基础上多加一维,dp[v][k],表示在v空间下第k大的价值。 遍历 第 i 个物品在体积为 V 大小的背包,有拿与不拿两种情况。每种情况又与上一步 K 个解对应。一共是2 ...

qq_38486516的博客 331

Bone Collector

Bone Collector Problem Description Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he ...

qq_41268947的博客 294

解析Bone Collector II HDU - 2639

#include<bits/stdc++.h> using namespace std; const int maxn=1005; int main() { int T; cin>>T; int dp[maxn][33],val[maxn],vol[maxn],A[33],B[33]; while(T--) { int n,v,k; cin>>n>>v>>k; int i,j,kk; for(i=0;i<n;i++)

malloch的博客 870

Bone Collector II 背包

Bone Collector II 原题链接https://vjudge.net/contest/348156#problem/D 对于寻找第k个最大值的题,我们要添加一个维度记录为第几个值 将所有情况找出,然后进行一个一个往数组中排序添加,最后输出最大值。 #include<cstring> #include<cstdio> #include<cmath>...

yeyuluo的博客 160

Bone Collector II

题目 样例 这道题出现了第k大值的问题,需要有a,b两个数组去存拿和不拿两种情况,并且还要合并起来! #include <iostream> #include <cstdlib> #include <algorithm> #include <cmath> #include <map> #include <set&gt...

cf刷题随笔 206

hdu 2639 Bone Collector II (01背包)

http://acm.hdu.edu.cn/showproblem.php?pid=2639 题意:给你一些Bone和一个背包体积,求第K大的价值; 思路:采用了三维的数组第三维是存(1-k)大的值的: View Code #include<cstdio>#include<iostream>#include<algorithm>#include&l...

weixin_33671935的博客 94

Bone Collector(骨头收集者)c++(01背包问题)

题目来源:杭州电子科技大学 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 110443 Accepted Submission(s): 44599 Problem Description Many years ago , in T...

qq_45808550的博客 1026

hdu 2602 Bone Collector 01背包

Bone Collector Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8342Accepted S

chen 525
上一篇: RQNOJ-PID2 / 开心的金明
下一篇: poj-3624Charm Bracelet
Eric_keke
博客等级 码龄12年 37粉丝 221原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值