题意  你有一个体积为N的箱子和两种数量无限的宝物  宝物1的体积为s1 价值为v1   宝物2同理

输入均为32位带符号整数

你的任务是计算最多能带走多少价值的宝物

暴力枚举:

首先明白一点      如果s1<s2  则枚举 s2    枚举量为n/s2  更小

如果s1>s2  则枚举s1     枚举量为n/s1 更小

假如   s1和s2 都很小的时候     这种枚举方式 枚举量就会很大

此时有一种枚举方式可以将枚举量减少到MAX{s1 s2}

s2个宝物1 和s1个宝物2的体积相同     假若前者的价值更高    那么宝物二的数量一定小于s1   不然的  假设大于等于s1   那么s1个宝物2可以用s2个宝物1来代换 价值肯定更高  所以枚举量为s1即可

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long LL;
  5. int main()
  6. {
  7. int n,v1,s1,v2,s2;
  8. int cas;
  9. cin>>cas;
  10. for(int k=;k<=cas;k++)
  11. {
  12. cin>>n>>s1>>v1>>s2>>v2;
  13. if(s1>s2)
  14. {
  15. swap(s1,s2);
  16. swap(v1,v2);
  17. }
  18. //使得s1<s2;
  19. LL ans=;
  20. if(n/s2>=)
  21. {
  22. if( s2*v1<s1*v2 )
  23. swap(v1,v2),swap(s1,s2);
  24.  
  25. for(LL i = ; i <= s1; i++)
  26. ans = max(ans, v2*i + (n-s2*i)/s1*v1);
  27. }
  28. else
  29. for(LL i=;i*s2<=n;i++)
  30. ans=max( ans,i*v2+(n-i*s2)/s1*v1) ;
  31.  
  32. printf("Case #%d: %lld\n",k,ans);
  33. }
  34. }

7-11Zombie's Treasure Chest uva12325的更多相关文章

  1. BZOJ2101: [Usaco2010 Dec]Treasure Chest 藏宝箱

    2101: [Usaco2010 Dec]Treasure Chest 藏宝箱 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 327  Solved:  ...

  2. BZOJ 2101: [Usaco2010 Dec]Treasure Chest 藏宝箱( dp )

    dp( l , r ) = sum( l , r ) - min( dp( l + 1 , r ) , dp( l , r - 1 ) ) 被卡空间....我们可以发现 l > r 是无意义的 ...

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

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

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

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

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

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

  6. 【BZOJ】2101: [Usaco2010 Dec]Treasure Chest 藏宝箱(dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2101 这个dp真是神思想orz 设状态f[i, j]表示i-j先手所拿最大值,注意,是先手 所以转移 ...

  7. 洛谷P3004 [USACO10DEC]宝箱Treasure Chest

    P3004 [USACO10DEC]宝箱Treasure Chest 题目描述 Bessie and Bonnie have found a treasure chest full of marvel ...

  8. BZOJ——2101: [Usaco2010 Dec]Treasure Chest 藏宝箱

    http://www.lydsy.com/JudgeOnline/problem.php?id=2101 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit:  ...

  9. cug oj 1479 Treasure Chest Lock (区间dp 思维)

    1479: Treasure Chest Lock Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 7  Solved: 5 [id=1479" ...

随机推荐

  1. 【java】JDK、JRE、JVM的关系

    目录结构: contents structure [-] 什么是JDK,JRE,JVM 安装JDK的时候为什么有两个jre 专用JRE 共用JRE 共用JRE和专用JRE的对比 java的跨平台特性 ...

  2. 图像处理之规则裁剪(Resize)

    1 图像裁剪 在实际工作中,经常需要根据研究工作要求对图像进行裁剪(Subset Image),按照实际图像分幅裁剪的过程,可以将图像分幅裁剪分为两种类型:规则分幅裁剪(Rectangle Subse ...

  3. Openstack 网络服务 Neutron介绍和控制节点部署 (九)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  4. 网络报错:“The connection is not for this device.”

    网络报错:“The connection is not for this device.” 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 记得在前几天工作的时候,有一个同时通过微信 ...

  5. WebService和Http的POST和GET请求区别和示例

    web service(SOAP) Webservice的一个最基本的目的就是提供在各个不同平台的不同应用系统的协同工作能力.Web service 就是一个应用程序,它向外界暴露出一个能够通过Web ...

  6. logback常见配置

    依赖jar包 <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core --> <dependency& ...

  7. linux下c语言实现双进程运行

    题目 编写一个Linux C程序,在主进程中创建一个子进程,子进程中死循环输出“Hello CSU”字符串,主进程休眠10s后,向子进程发送信号结束子进程,随后主进程退出.(用信号实现进程间的通信,k ...

  8. POJ - 2513 Colored Sticks(欧拉通路+并查集+字典树)

    https://vjudge.net/problem/POJ-2513 题解转载自:優YoU  http://user.qzone.qq.com/289065406/blog/1304742541 题 ...

  9. 20155302 2016-2017-2《Java程序设计》第五周学习总结

    20155302 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 异常类从哪里来?有两个来源,一是Java语言本身定义的一些基本异常类型,二是用户通过继承Ex ...

  10. 使用js获取浏览器地址栏里的参数

    用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new ...