UVa 12325 宝箱
https://vjudge.net/problem/UVA-12325
题意:有一个体积为N的箱子和两种数量无限的宝物。宝物1的体积为S1,价值为V1‘宝物2的体积为S2,价值为V2。计算出最多能装多大价值的宝物。
思路:题目很清楚就是暴力枚举,但是如果不简化枚举的话肯定是会超时的,如果N/S1比较小,那就枚举宝物1的个数,如果N/S2比较小,则枚举宝物2的个数。还有一种情况就是S1和S2都很小,S2个宝物1和S1个宝物2的体积相等,而价值分别为S2*V1和S1*V2。如果前者比较大,则宝物2最多只会拿S1-1个(否则则可以把S1个宝物2换成S2个宝物1);如果后者比较大,则宝物1最多只会拿S2-1个。
#include<iostream>
using namespace std; long long N, S1,V1, S2,V2;
long long maxn ; void solve1()
{
for (int i = ; i <= N / S1; i++)
{
long long number = (N - i*S1) / S2;
long long sum = i*V1 + number*V2;
if (sum > maxn) maxn=sum;
}
} void solve2()
{
for (int i = ; i <= N / S2; i++)
{
long long number = (N - i*S2) / S1;
long long sum = i*V2 + number*V1;
if (sum > maxn) maxn=sum;
}
} void solve3()
{
if (S2*V1<S1*V2)
{
for (int i = ; i < S2 && i<=N/S1; i++)
{
long long number = (N - i*S1) / S2;
long long sum = i*V1 + number*V2;
if (sum > maxn) maxn = sum;
}
}
else
{
for (int i=; i < S1&&i<=N/S2; i++)
{
long long number = (N - i*S2) / S1;
long long sum = i*V2 + number*V1;
if (sum > maxn) maxn = sum;
}
}
} int main()
{
int n, kase = ;
cin >> n;
while (n--)
{
cin >> N >> S1 >> V1 >> S2 >> V2;
maxn = ;
if (S1< && S2<)
solve3();
else if (N / S1 < N / S2) solve1();
else solve2();
cout << "Case #" << ++kase << ": " << maxn << endl;
}
return ;
}
UVa 12325 宝箱的更多相关文章
- UVA 12325 Zombie'sTreasureChest 宝箱 (分类枚举)
看上去非常像背包的问题,但是体积太大了. 线性规划的知识,枚举附近点就行了,优先选性价比高的, 宝物有两种体积为S0,价值V0,体积S1,价值V1. 枚举分以下几种: 1:枚举拿宝物1的数量,然后尽量 ...
- 10年省赛-Greatest Number (二分+暴力) + 12年省赛-Pick apples(DP) + UVA 12325(暴力-2次枚举)
题意:给你n个数,在里面取4个数,可以重复取数,使和不超过M,求能得到的最大的数是多少: 思路:比赛时,和之前的一个题目很像,一直以为是体积为4(最多选择四次)的完全背包,结果并不是,两两求和,然后二 ...
- UVa 12325 Zombie's Treasure Chest【暴力】
题意:和上次的cf的ZeptoLab的C一样,是紫书的例题7-11 不过在uva上交的时候,用%I64d交的话是wa,直接cout就好了 #include<iostream> #inclu ...
- UVa 12325 - Zombie's Treasure Chest-[分类枚举]
12325 Zombie’s Treasure Chest Some brave warriors come to a lost village. They are very lucky and fi ...
- uva 12325 Zombie's Treasure Chest
https://vjudge.net/problem/UVA-12325 题意: 一个箱子,体积为N 两种宝物,体积为S1.S2,价值为V1.V2,数量无限 最多装多少价值的宝物 数据范围:2^32 ...
- 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位带符号整数.计算最多能装多大价值的宝物,每种宝物都必须拿非负整数个. 思 ...
- 【例题 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 1354 Mobile Computing ——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5
随机推荐
- Sql Server 2016 Always On集群搭建
第一步,配置好windows环境 第二步 (配置内容较多--需单写) 需要做windows集群 安装WSFC集群组件 直接在Windows服务器管理工具中,增加功能模块,集群故障转移模块 并增加节点 ...
- NYOJ-1073 最小值
http://acm.nyist.net/JudgeOnline/problem.php?pid=1073 # include<stdio.h> # include<stdlib.h ...
- awesome go library 库,推荐使用的golang库
https://github.com/avelino/awesome-go https://github.com/spf13/cobra # A Comm ...
- (转)How to Use Elasticsearch, Logstash, and Kibana to Manage MySQL Logs
A comprehensive log management and analysis strategy is vital, enabling organizations to understand ...
- jquery.dataTables表格中的内容怎么设置让它不自动换行
在table中增加 style="white-space: nowrap;" ,这样会撑大td.会出现滚动条. 其他内容配置:每列宽度: "aoColumnDefs&qu ...
- [LeetCode] 183. Customers Who Never Order_Easy tag: SQL
Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL qu ...
- [LeetCode] 867. Transpose Matrix_Easy
Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped over it ...
- 基于androidstudio3.0的build文件配置问题
最近,在研究APP自动化相关的东西,在搭建环境的时候,遇到的坑以及最后解决的方法,不过目前很多东西了解得还不是很细,暂时先简单的记录一下一.build配置文件 主要分为两种: 1.工程下的build配 ...
- Java: Best Way to read a file
经常在各种平台的online test里面不熟悉STDIN, STOUT,下面举个例子: Input Format There are three lines of input: The first ...
- 你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构
微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.虽然微服务架构没有公认的技术标准和规范或者草案,但业 ...