uva 12325(宝箱, 枚举问题);
题目大意:
你有一个体积为N的箱子和两种数量无限的宝物,宝物1的体积为s1,价值为v1; 宝物2的体积为s2, 价值为v2. 输入均为32位带符号整数。你的任务是计算最多能够装多大的宝物。
题目分析:
两种枚举方法,枚举宝物1的个数尽量多拿宝物2,这个很好理解,但是时间复杂度为O(N/s1); 当s1很小的时候,时间效率是非常低的;这个时候就有第二种枚举方法;
s2个宝物1的体积等于s1个宝物2的体积,而价值分别为s2*v1和s1*v2。 如果前者比较大,则宝物2最多只拿s1-1个(否则可以吧s1个宝物2换成s2个宝物1); 反之同理最多只能拿宝物一s2-1个;
#include <cstdio>
#include <cstring>
#include <algorithm>using namespace std;typedef long long LL;int main()
{int n, s1, v1, s2, v2;int T, cas = 0;scanf("%d", &T);while(T--){scanf("%d%d%d%d%d", &n, &s1, &v1, &s2, &v2);if(s1 > s2){swap(s1, s2);swap(v1, v2);}LL ans = 0;if(n/s2 > 50000){if(s2*v1 > s1*v2){for(LL i = 0; i < s1; ++i){ans = max(ans, v2*i+(n-s2*i)/s1*v1);}} else{for(LL i = 0; i < s2; ++i){ans = max(ans, v1*i+(n-s1*i)/s2*v2);}}} else{for(LL i = 0; i*s2 <= n; ++i){ans = max(ans, i*v2+(n-i*s2)/s1*v1);}}printf("Case #%d: ", ++cas);printf("%lld\n", ans);}return 0;
}
uva 12325(宝箱, 枚举问题);相关推荐
- uva 12325 宝箱
书中的分类枚举法一举克服了普通枚举最大10^9的规模:第一种宝藏最多n/s1个,所以宝藏1的数量可以从1枚举到n/s1,同时算出宝藏2最多多少个,求出总价值.宝藏2最多n/s1个,枚举方法同上.因此如 ...
- UVA 12325 宝箱 Zombie‘s Treasure Chest
宝箱 Zombie's Treasure Chest 题面翻译 你有一个体积为N的箱子和两种数量无限的宝物.宝物1的体积为S1,价值为V1::宝物2的体积为S2,价值为V2.输入均为32位带符号整数. ...
- UVa 12325 - Zombie's Treasure Chest(暴力枚举+预处理)
给出背包大小n,两种宝物的体积s1.s2,两种宝物的价值v1.v2.求能装下的最大价值. 首先进行预处理,使n/s1的值尽可能小,满足O(n)的时间不超时.s2的宝物1与s1个宝物2体积相同,所以s= ...
- UVa LA 4253 UVa 1421 Archery 枚举,状态削减,oj错误题目 难度: 1
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- UVA - 12325 Zombie's Treasure Chest 暴力
根据两种情况 选择不同枚举 哇! 这题开始用 int 类型的数写的,只有 存最大 价值量的 mix_ 用了long long ,结果交了一遍 wa ,查了一遍 没问题啊?? 后来意识到 max 函数 ...
- 【例题 7-11 UVA - 12325】Zombie's Treasure Chest
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 1.N/s1 < 1e6 枚举1的个数 2.N/s2<1e6 枚举2的个数 3.s1和s2的值较小 假设买了s2个1和s ...
- Uva 12325 Zombie's Treasure Chest (贪心,分类讨论)
题意: 你有一个体积为N的箱子和两种数量无限的宝物.宝物1的体积为S1,价值为V1:宝物2的体积为S2,价值为V2.输入均为32位带符号的整数.你的任务是最多能装多少价值的宝物? 分析: 分类枚举, ...
- UVA 12325 Zombie's Treasure Chest
题目大意: 你有一个体积为N的箱子和两种数量无限的宝物.宝物1的体积为S1,价值为V1:宝物2的体积为S2,价值为V2.输入均为32位带符号的整数.你的任务是最多能装多少价值的宝物? 对于宝物1和2, ...
- 7.7 竞赛题目选讲
7.7 竞赛题目选讲 题目可能有些难,请阅读完前面的篇章后,选择是否进行阅读. 7-11 宝箱 (UVA 12325) 你有一个体积为N的箱子和两种数量无限的宝物.宝物1的体积为S1,价值为V1:宝物 ...
最新文章
- 第22届清华大学电子设计大赛决赛
- VMware虚拟机出现Reason: Failed to lock the file
- LUA表 pairs, ipairs输出顺序问题
- linux tomcat apr安装,Linux下Tomcat安装并开启APR模式-Go语言中文社区
- COM组件设计与应用(三)(转载)
- js获取时间(本周、本季度、本月..)
- [转]使用T4模板批量生成代码
- OpenCV stereo matching 代码
- JQuery EasyUI 扩展方法 日期控件 设置时间段函数
- 解决jQuery多个版本,与其他js库冲突方法
- Nginx - 原理机制
- 【SDCC 2016】微影时代、普元、亚信、Fit2Cloud、VMware、京东商城、优维科技畅聊自动化运维与容器...
- 2019年物联网行业市场研究报告
- MTK8788,6765,通用平台的按键驱动添加
- 私有网盘搭建——Ubuntu使用宝塔面板安装Nextcloud及优化 ------超详细
- 【GamePlay】UGUI的注意事项
- 今日头条精准引流技巧,今日头条超简单的引流技巧
- idea debug源码
- 走进Prime Time系列 - PT的Timing exception 03
- 你是真的“C”——详解函数递归+求解青蛙跳台阶问题