首页 > 其他分享 >可分割背包问题

可分割背包问题

时间:2023-07-02 13:22:37浏览次数:37  
标签:分割 背包 int sum 问题 abc ans 物品

我绝对不会告诉你我做了8遍才过这道题

题目

现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值 v和重量 w(1<=v,w<=10);
如果给你一个背包,它能容纳的重量为 m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。

Input

第一行输入一个正整数n (1<=n<=5),表示有 n组测试数据; 随后有 n组测试数据,每组测试数据的第一行有两个正整数s(1<=s<=10); s表示有s 个物品。接下来的 s行每行有两个正整数 v,w。

Output

每组测试数据中背包内的物品的价值和,每次输出占一行。

样例输入

1
3 15
5 10
2 8
3 9

样例输出

65

样例解释

方案:第一个物品全部放进去,第三个物品放5个单位的重量进去
总价值为5×10+3×5 = 65.

code:

点击查看代码
#include <bits/stdc++.h>
using namespace std;
int n,m,sum,ans;//n:组数,m:背包容积,sum:物品个数 
struct abc{
	int v,w;
}a[21];
bool cmp(abc x,abc y){
	return x.v > y.v;
}
int main(){
	cin>>n;
	for(int i = 1;i<=n;i++){
		ans = 0;
		cin>>sum>>m;
		for(int k = 1;k<=sum;k++){
			cin>>a[k].v>>a[k].w;
		}
		sort(a+1,a+sum+1,cmp);
		for(int j = 1;j<=sum;j++){
			if(m >= a[j].w) {m -= a[j].w;ans += a[j].v*a[j].w;}
			else {ans += a[j].v*m;break;}
		}
		cout<<ans<<endl;
	}
	return 0;
}

标签:分割,背包,int,sum,问题,abc,ans,物品
From: https://www.cnblogs.com/nasia/p/17519147.html

相关文章

  • 问题驱动-Map数据结构
    1、引言Map是Java中常用的数据结构,它提供了一种键值对的存储方式,可以根据键来快速访问值。在本篇文章中,我将学习Java中的Map数据结构从至少以下几个方面阐述,什么是map、使用Map有什么好处、Map的底层原理、map中的key和value分别是什么、以及Map的Key值为什么不能重复、Map中的key......
  • JSON中,java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决
    使用JSON,在SERVLET或者STRUTS的ACTION中取得数据时,如果会出现异常:java.lang.NoClassDefFoundError:net/sf/ezmorph/Morpher是因为需要的类没有找到,一般,是因为少导入了JAR包,使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-bean......
  • vscode cpp 遇到的问题
    已解决:couldnotfindthetask‘g++buildactivefile,leetcode算法ACM编译调试_dlage的博客-CSDN博客(32条消息)vscode下编译告警“undefinedreference”?三步教你如何解决_vscodeundefinedreferenceto_飘逸的小松鼠的博客-CSDN博客tasks.json{"version":"2.0.0"......
  • log4j无法打印日志的问题
     这个问题提出来一直没人解决,最后找到毛病了,发在这里            生产系统升级后发现接口无法打印日志,web层无法打印,service层可以打印,检查日志发现:[09-12-1515:53:45:617CST]00000030SystemErrRlog4j:ERRORCouldnotfindvalueforkeylog4j.appen......
  • linux su命令卡顿,linux su特别慢问题排查
    问题:发现同机房两台同网络域的主机,一台su用户正常,一台每次都需要等5s左右。进展:杂事儿太多没深入排查,后续又发现了几台有同样问题的主机。非常影响效率。开始入手排查分析:1、之前遇到过类似问题,ssh登陆慢。所以首先观察两台主机sshd_config配置文件,发现登录慢的主机多了一个配......
  • LINQ问题:模拟并发冲突时遇到的问题(LINQ to SQL)
    问题描述此问题是通过的网友交流获得解决的,首先对参与和关注此问题的网友表示感谢,特别是foren_whb给予了热心地、直接地帮助!谢谢你们!望日后继续进行着广泛地深入的交流!虽然说,谁也不想遇到并发冲突这种情况,但这却是一个必然会发生的事情,因此,学习掌握它的解决办法还是很有必要的。我......
  • 背包问题-二进制优化
    Smiling&Weeping----不讨好所有冷漠不辜负所有热爱 #[NOIP1996提高组]砝码称重 ##题目描述 设有$1\mathrm{g}$、$2\mathrm{g}$、$3\mathrm{g}$、$5\mathrm{g}$、$10\mathrm{g}$、$20\mathrm{g}$的砝码各若干枚(其总重$\le......
  • 代码随想录|各种买卖股票问题
    121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III  188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费  总结121.买卖股票的最佳时机全程只能买卖一次贪心算法这个算法的写法也非......
  • dpkg-reconfigure命令找不到问题解决
    作者: adminhttps://cloudbool.com/archive/dpkg-reconfigure-command-not-found.html今天在SSH远程连接到服务器时,遇到了dpkg-reconfigure命令找不到的问题,觉得很是奇怪,花了点时间研究下,这里做个记录,以备后用。前情提要我远程的服务器系统是自行使用DebiannetinstISO镜......
  • VBA下标越界(运行时错误-9)提示问题处理
    问题反馈: 测试:采购在途表行数900行没问题,2300行就会报错。排查处理:测试复现问题点击调试初步判断:caigouzaituarr或shuchuliaojianxuqiu数组越界shuchuliaojianxuqiu如果h大于6万会越界,现在看订单就三百行,每个bom按20个原材料算也不会越界。Jhs是即时库存表的行数,此处应该时chs;......