NYOJ--106--背包问题
背包问题
- 描述
-
现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。
- 输入
-
第一行输入一个正整数n(1<=n<=5),表示有n组测试数据;
随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1<=s<=10);s表示有s个物品。接下来的s行每行有两个正整数v,w。 - 输出
- 输出每组测试数据中背包内的物品的价值和,每次输出占一行。
- 样例输入
-
1 3 15 5 10 2 8 3 9
- 样例输出
-
65
-
思路:就是结构体二级排序,先派重量,再排单价。
-
ac代码:
#include<stdio.h> #include<algorithm> using namespace std; struct node{int v,w; }a[1010]; bool cmp(node c,node d){if(c.v==d.v)return c.w>d.w;elsereturn c.v>d.v; } int main(){int T;scanf("%d",&T);while(T--){int s,m,i,sum=0;scanf("%d%d",&s,&m);for(i=0;i<s;i++)scanf("%d%d",&a[i].v,&a[i].w);sort(a,a+s,cmp);i=0;while(m>=0){if(a[i].w>=m){sum+=a[i].v*m;m-=a[i].w;}else{sum+=a[i].v*a[i].w;m-=a[i].w;}i++;}printf("%d\n",sum);}return 0; }
NYOJ--106--背包问题相关推荐
- NYOJ 106 背包问题
背包问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<= ...
- NYOJ 30 Gone Fishing JAVA+解析
Gone Fishing这道题目运用的多次折合成一次这种思想我首次见,我想的一个思路是,每次算一下鱼量和时间代价比,这个代码我没有敲,下面的代码是一位仁兄敲得,我研读了一下,做了一个注释,应该有利于后 ...
- 求背包问题所有解(C++实现)
这是我学习数据结构时的一道上机作业,那时还没养成写注释的习惯,所以各位得受点苦了. 只是简易背包问题. 代码: 展开 1 // 背包问题所有解 2 // 作者:王锦 3 // 邮箱:jinksw@vi ...
- NYOJ 99单词拼接(有向图的欧拉(回)路)
1 /* 2 NYOJ 99单词拼接: 3 思路:欧拉回路或者欧拉路的搜索! 4 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 5 有向图的欧拉 ...
- 基因算法解析、设计,以解决背包问题和旅行商问题为例
一.算法说明 基因算法 基因算法有一套公共的完整的框架,伪代码如下. beginset time t = 0 # first generationinitGeneration() # initiali ...
- 硬币找零——背包问题,以及循环、递归、动规共通性
在这个题目的基础上,我了解了一下这几个"编程写法",并对循环.递归.dp有了新的想法.从原理上,这几个想法都是大事化小.小事化了.只不过方向不同罢了. 根据The Algorith ...
- 01背包问题分支限界java_分支限界法-01背包问题
1.分支限界法介绍 分支限界法类似于回溯法,也是在问题的解空间上搜索问题解的算法.一般情况下,分支限界法与回溯法的求解目标不同.回溯法的求解目标是找出解空间中满足约束条件的所有解:而分支限界法的求解目 ...
- 分支限界法 01背包c语言,算法笔记分支限界法01背包问题
<算法笔记分支限界法01背包问题>由会员分享,可在线阅读,更多相关<算法笔记分支限界法01背包问题(12页珍藏版)>请在人人文库网上搜索. 1.问题描述给定n种物品和一背包.物 ...
- 《贪心算法》— NYOJ 贪心算法题目汇总(一)
题目6 题目信息 运行结果 本题排行 讨论区 喷水装置(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为 ...
- ACM1881 01背包问题应用
01背包问题动态规划应用 acm1881毕业bg 将必须离开的时间限制看作背包容量,先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始(背包容量)到它的延长时间进行遍历: 1 # ...
最新文章
- 洛谷.4234.最小差值生成树(LCT)
- 终于把 7 年前的 Docker Hub 账号恢复了
- INT_PTR 更好的移植性
- 电信用户流失预测案例(3)
- 【收藏】Maven 生成打包可执行jar包
- android camera分辨率设置,请问如何使用camera2设置全屏preview,要求适配所有屏幕尺寸?...
- P6619-[省选联考2020A/B卷]冰火战士【树状数组二分】
- c#串口程序接收数据并打印_C#程序可打印各种数据类型的大小
- 断开式数据集DataSet 1129
- vRealize Operations Manager 安装部署
- linux下文件系统创建
- JSP指令标记和动作标记
- 每日算法系列【LeetCode 354】俄罗斯套娃信封问题
- Python 操作 DB2 库_亲测可用
- html连接sql数据库详解,HTML5 Web SQL数据库使用详解
- Python 基础 1加到100 求和
- 使用scrapy爬取豆瓣上面《战狼2》影评
- Linux-基本使用
- android手机查看设备ID,deviceID
- 猫咪藏在哪个房间python_猫咪总喜欢把自己藏在不可思议的地方,这是为什么呢?...
热门文章
- python数据结构5 - 排序与搜索
- pytorch---模型加载与保存(5)使用在不同模型参数下的热启动模式
- 博文视点程序员读书节,大咖带你共读十日精彩
- 第三:启发式搜索:A* 算法
- 一个有趣的说法:多层神经网络的致命问题与过拟合
- 一文详解Python中的*可变参数与**关键字参数
- 在Ubuntu 16.04 使用命令行安装Nvidia CUDA-9.0以及cudnn7
- 蓝桥杯2015年第六届C/C++省赛A组第八题-饮料换购
- 力扣-724 寻找数组的中心索引
- L1-028 判断素数 (10 分)—团体程序设计天梯赛