https://vjudge.net/problem/UVA-12325

题意:

一个箱子,体积为N

两种宝物,体积为S1、S2,价值为V1、V2,数量无限

最多装多少价值的宝物

数据范围:2^32

完全背包?

NO NO NO

数据范围:2^32

分类枚举

如果s比较大,那么某一个最多装n/s个

如果s比较小,

s1个2,体积s1*s2,价值s1*v2
s2个1,体积s2*s1,价值s2*v1

如果s1*v2<s2*v1,那么2物品最多装s1-1个

#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
int T;
LL n,s1,v1,s2,v2;
long long ans;
int main()
{
scanf("%d",&T);
for(int t=;t<=T;t++)
{
scanf("%lld%lld%lld%lld%lld",&n,&s1,&v1,&s2,&v2);
ans=;
if(s1>s2) swap(s1,s2),swap(v1,v2);
int maxn;
if(s2>n/s2) maxn=n/s2;
else
{
if(s1*v2>s2*v1) swap(s1,s2),swap(v1,v2);
maxn=s1-;
}
for(int i=;i<=maxn;i++) ans=max(ans,v2*i+(n-s2*i)/s1*v1);
printf("Case #%d: %lld\n",t,ans);
}
}

uva 12325 Zombie's Treasure Chest的更多相关文章

  1. 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 ...

  2. UVa 12325 Zombie's Treasure Chest【暴力】

    题意:和上次的cf的ZeptoLab的C一样,是紫书的例题7-11 不过在uva上交的时候,用%I64d交的话是wa,直接cout就好了 #include<iostream> #inclu ...

  3. Uva 12325 Zombie's Treasure Chest (贪心,分类讨论)

    题意: 你有一个体积为N的箱子和两种数量无限的宝物.宝物1的体积为S1,价值为V1:宝物2的体积为S2,价值为V2.输入均为32位带符号的整数.你的任务是最多能装多少价值的宝物? 分析: 分类枚举, ...

  4. UVA - 12325 Zombie's Treasure Chest (分类搜索)

    题目: 有一个体积为N的箱子和两种数量无限的宝物.宝物1的体积为S1,价值为V1:宝物2的体积为S2,价值为V2.输入均为32位带符号整数.计算最多能装多大价值的宝物,每种宝物都必须拿非负整数个. 思 ...

  5. G - Zombie’s Treasure Chest(动态规划专项)

    G - Zombie’s Treasure Chest Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &am ...

  6. 一道看似dp实则暴力的题 Zombie's Treasure Chest

     Zombie's Treasure Chest 本题题意:有一个给定容量的大箱子,此箱子只能装蓝宝石和绿宝石,假设蓝绿宝石的数量无限,给定蓝绿宝石的大小和价值,要求是获得最大的价值 题解:本题看似是 ...

  7. HDU 4091 Zombie’s Treasure Chest 分析 难度:1

    Zombie’s Treasure Chest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  8. 【例题 7-11 UVA - 12325】Zombie's Treasure Chest

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 1.N/s1 < 1e6 枚举1的个数 2.N/s2<1e6 枚举2的个数 3.s1和s2的值较小 假设买了s2个1和s ...

  9. BZOJ2490 Zombie’s Treasure Chest

    如果n = lcm(s1, s2),那么就可以直接得到maxV = (v / s1 * v1, v / s2 *v2) 然后还剩下一点体积我们暴力枚举用s1的量,让s1为max(s1, s2)可以减少 ...

随机推荐

  1. Linux 150命令之 文件和目录操作命令 cd pwd cp mv touch

    cd 切换目录 cd 目录 [root@mysql ~]# cd / [root@mysql /]# ls application bin class dev home lib64 media nfs ...

  2. [leetcode-667-Beautiful Arrangement II]

    Given two integers n and k, you need to construct a list which contains n different positive integer ...

  3. css修改placeholder的样式

    css修改placeholder的样式 input::-webkit-input-placeholder { /* WebKit browsers */ font-size:14px; color: ...

  4. Java学习个人备忘录之异常

    概述 异常:是在运行时期发生的不正常情况. 在java中用类的形式对不正常情况进行了描述和封装对象. 描述不正常的情况的类,就称为异常类. 以前正常流程代码和问题处理代码相结合,现在将正常流程代码和问 ...

  5. Git 命令基本应用

    两种建立仓库的方法: (1)在本地文件路径下建立仓库:git init (2)在代码托管网站上克隆项目:git clone [url] 查看该分支下的文件情况:git status 添加远程仓库源:g ...

  6. 【转载】【翻译】Breaking things is easy///机器学习中安全与隐私问题(对抗性攻击)

    原文:Breaking things is easy 译文:机器学习中安全与隐私问题(对抗性攻击) 我是通过Infaraway的那篇博文才发现cleverhans-blog的博客的,这是一个很有意思的 ...

  7. iOS-tableView刷新指定行,组

    /一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:]; [tableview reloadSections:inde ...

  8. Vue自定义事件,$on(eventName) 监听事件,$emit(eventName) 触发事件

    <!--自定义事件 使用 $on(eventName) 监听事件 使用 $emit(eventName) 触发事件--> <div id="app15"> ...

  9. PAT 1052 卖个萌

    https://pintia.cn/problem-sets/994805260223102976/problems/994805273883951104 萌萌哒表情符号通常由“手”.“眼”.“口”三 ...

  10. Dojo初探

    Dojo 是一个由 Dojo 基金会开发的 Javascript 工具包, 据说受到 IBM 的永久支持,其包括四个部分: dojo, dijit, dojox, util dojo: 有时也被称作 ...