1548 欧姆诺姆和糖果
题目来源: CodeForces
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题

 收藏
 关注

一天,欧姆诺诺姆来到了朋友家里,他发现了许多糖果。有蓝色和红色两种。他知道每颗红色糖果重Wr克,每颗蓝色糖果重Wb克。吃一颗蓝色糖果会给他带来Hb的欢乐值,吃一颗红色糖果会给他带来Hr的欢乐值。

欧姆诺姆最多只能吃C克的糖果,而且每一颗糖果不能只吃一半。现在他想通过吃蓝色和红色的糖果来获得最大的欢乐值。

样例解释:每一种糖果吃两颗即可。

Input
单组测试数据。
输入占一行有四个整数C,Hr,Hb,Wr,Wb (1≤C,Hr,Hb,Wr,Wb≤10^9).
Output
输出最大可能获得的欢乐值。
Input示例
样例输入1
10 3 5 2 3
Output示例
样例输出1
16
基本方法:
一、枚举r糖果和b糖果
二、枚举一个就可以确定另一个,所以枚举r糖果或b糖果显然这两种都会超时

数据范围<=10^9,显然要用 根号或log级别的算法假设wr<wb若wb>=根号c,那么wb 最多只能取 根号c 个这就把 wb>根号c 的枚举优化到了 根号 级若wb<根号c  假设 hr/wr < hb/wb  可化为 hr*wb < wr*hb  不妨设 r糖果wb个,那么占据 wb*wr 的空间,得到 wb*hr  那么在wb*wr的空间里,就可以放 wr个b糖果,得到 wr*hb  因为 hr*wb < wr*hb   所以 若r糖果吃 wb个,那么b糖果吃 wr个更优
所以 r糖果 吃的个数不超过 wb个,可以枚举 r糖果因为 没吃wb个r糖果,都可以转为 吃 wr个b糖果替代

这样我们就优化到了根号n

这种优化并没有涉及其他的算法,在原来枚举方法的基础上,找制约关系减少枚举

枚举 r和b 到 枚举 r或b ,因为r和b两者 占据的总空间固定再到根号n枚举,因为 通过 两者 自带的属性找到了制约关系
#include<iostream>
#include<cmath>
#include<algorithm>
#define ll long long
using namespace std;
ll c,hr,hb,wr,wb,ans;
int main()
{cin>>c>>hr>>hb>>wr>>wb;if(wr>wb) {swap(wr,wb);swap(hr,hb);}if(wb>=sqrt(c)) {for(int i=0;i*wb<=c;i++)ans=max(ans,i*hb+(c-wb*i)/wr*hr);}else{if(1.0*hr/wr>1.0*hb/wb){swap(wr,wb);swap(hr,hb);}for(int i=0;i<wb;i++){if(i*wr>c) break;ans=max(ans,i*hr+(c-i*wr)/wb*hb);}}cout<<ans;
}

注意在枚举r糖果时,不能超过总容量

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/6746768.html

51nod 1548 欧姆诺姆和糖果 (制约关系优化枚举)相关推荐

  1. 51NOD 1548 欧姆诺姆和糖果

    1548 欧姆诺姆和糖果 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 一天,欧姆诺诺姆来到了朋友家里,他发现了许多 ...

  2. 51nod-1548:欧姆诺姆和糖果

    1548 欧姆诺姆和糖果 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 一天,欧姆诺诺姆来到了朋友家里,他发现了 ...

  3. 对话无政府主义者:诺姆·乔姆斯基谈深度学习的未来

    全文共3392字,预计学习时长9分钟 图源:forbes 在过去的几周里,笔者一直在和最喜欢的无政府主义辛迪加主义者诺姆·乔姆斯基进行电子邮件交流.最初联系是为了确认,人工神经网络(ANNs)的最新发 ...

  4. 操作系统(三)| 进程同步详解(主要任务、制约关系、临界资源、临界区、同步机制遵循规则、信号量机制、信号量的应用)

    文章目录 进程的同步基本概念 进程同步的主要任务 进程间的制约关系 临界资源 临界区 同步机制应遵循的规则 信号量机制 整型信号量 记录型信号量 ❤❤❤ AND型信号量 信号量的应用 实现进程互斥 实 ...

  5. 计算机操作系统专题一:多道环境下进程同步与互斥制约关系的学习

    1. 问题描述 设自行车生产线上有一只箱子,其中有N个位置(N≥3),每个位置可存放一个车架或一个车轮,又设有三名工人,其活动分别为: 2. 问题分析(包括涉及的知识点.制约关系分析.问题的解决思路等 ...

  6. 设置项的相互制约关系

    总加组总组数 对F14总加组配置参数有制约作用.如果F14总加组配置参数的总组数超过了F9终端配置数量表的总加组总组数,终端将否认. F9 终端配置数量表的对应的控制项 项 目 当前最大值 作用范围 ...

  7. 诺信EFD发布的全新“优化点胶”视频介绍了活塞如何改善工艺控制

    视频有助于制造商了解活塞选型如何影响流体点胶效果,并防止跳塞现象的产生 罗得岛东普罗维登斯--(美国商业资讯)--诺信(NASDAQ: NDSN)旗下公司.世界领先的精密流体点胶系统制造商诺信EFD推 ...

  8. archivelog模式和flashback db以及guarantee restore point之间的相互制约关系!

    随手记录...[@more@] 21:29:17 SQL> shutdown immediate 数据库已经关闭. 已经卸载数据库. ORACLE 例程已经关闭. 21:29:47 SQL> ...

  9. TOMCAT 汤姆猫的 安装部署 优化

    文章目录 TOMCAT 介绍 tomcat 图标 Tomcat 示意图 来吧!展示! 下载地址 安装JDK 设置环境变量 解压Tomcat 让 systemctl 控制 tomcat tomcat 目 ...

最新文章

  1. 经典大数据面试题及解析
  2. Spring中获取bean
  3. tableau实战系列(九)-用 ZN 函数处理数据缺失点
  4. aws php 上传文件 限制大小_如何压缩PDF文件大小,满足各种上传大小要求
  5. 走迷宫(信息学奥赛一本通-T1252)
  6. AOP和IOC个人理解
  7. springboot中配置文件使用2
  8. html表单实现ajax登陆,node.js+jQuery实现用户登录注册AJAX交互
  9. vc通过ADO连接sql server 2000的核心代码
  10. URAL 1664 Pipeline Transportation
  11. mysql ssl 1067_mysql服务无法启动1067错误,谁知道正确的解决方法?
  12. 专利服务器拒收 文件解压异常,电子申请常见问题解答20161024.doc-中国专利电子申请网.doc...
  13. 零件测绘与计算机作图理论试题,浅谈《零部件测绘与cad成图技术》技能竞赛对中职机械制图和cad制图课程整合的影响...
  14. matlab电流测量接法,matlab电压电流测量模块的使用
  15. iphone7一晚上掉电50%_苹果7待机一晚掉电多少
  16. apk安装时so库存放路径
  17. 硅谷高效工作法 -知乎大学
  18. 法语入门学习资料汇总
  19. I春秋CTF训练营web题解(一)
  20. fms安装教程 linux_[转]linux下fms2流媒体服务器搭建之三-----FMS安装篇

热门文章

  1. k8s集群部署 | 二进制三节点(复用)高可用集群部署过程
  2. ajax在jQuery的应用,Ajax在jQuery中的应用($.ajax()方法)
  3. 惊了惊了,三分钟学会七个Python小技巧(建议收藏)
  4. t420i升级固态硬盘提升_你的“文件传输助手”该升级了!希捷酷鱼飞翼移动固态硬盘体验...
  5. java choice控件_hi,请教JAVA中AWT的choice(下拉列表)控件的使用问题~~~
  6. 记,远程pycharm调试论文Unsupervised Question Answering by Cloze Translation的实验遇到的神之奇怪bug
  7. android中 拍照 视频 录音 显示缩略图
  8. Scrapy 案例一:通过 API 抓取天气预报数据
  9. Fundation 5发布:号称最快版本,响应式用户体验更完善
  10. phpems最低的php版本,PHPEMS安装使用操作文档