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. LINQ 学习路程 -- 查询操作 GroupBy ToLookUp
  2. 7.5. Function
  3. jzoj3500-物语【最短路】
  4. enumerate()使用
  5. 仅使用numpy从头开始实现神经网络,包括反向传播公式推导过程
  6. linux中的运行模式,Linux系统运行模式介绍
  7. 常微分方程的初始条件使用
  8. 圆孔夫琅禾费衍射 matlab,信息光学基于matlab圆孔圆环夫琅禾费衍射论文副本
  9. 好用的抖音视频剪辑软件推荐
  10. 高级终端termux下载不了Python_利用termux下载某站受限的番剧
  11. 5G关键技术简介带你揭开5G神秘面纱
  12. HTML5超级链接、图片与多媒体
  13. H5传奇源码,附带微信支付,商城系统,新增了元宝交易商城系统源码
  14. 递推和递归:一个自下而上,一个自上而下
  15. 我用新拟物化设计风格,做了一个App改版案例
  16. OpenHarmony恢复启动子系统init进程之服务启动
  17. 【转】Java-满天繁星案例
  18. McAfee刮起中国风 全资子公司拓展在华市场
  19. mysql中高阶玩法系列(六)
  20. 通过加速度计和陀螺仪解算姿态

热门文章

  1. 音视频01-mac环境搭建
  2. 强化练习2:编程实现统计某年某月份的天数
  3. 【图片批量处理软件分享】可批量添加水印/批量重命名/批量裁剪/批量缩小尺寸
  4. k8s集群部署 | 二进制三节点(复用)高可用集群部署过程
  5. Android玩乐系列:修改汇编代码支持原生高清来电大头贴(一)
  6. java偶数求和_Java案例2:求和,求偶数和,水仙花数,珠穆朗玛峰
  7. INLWO-系统调用
  8. phpemspro模拟考试无试题_GitHub - maosea0125/phpems: PHPEMS在线模拟考试系统
  9. xgboost设置cpu核数
  10. 【java项目】仅需俩小时教你学会自己用java做出自己的“黄金矿工’’游戏