51nod 1548 欧姆诺姆和糖果 (制约关系优化枚举)
一天,欧姆诺诺姆来到了朋友家里,他发现了许多糖果。有蓝色和红色两种。他知道每颗红色糖果重Wr克,每颗蓝色糖果重Wb克。吃一颗蓝色糖果会给他带来Hb的欢乐值,吃一颗红色糖果会给他带来Hr的欢乐值。
欧姆诺姆最多只能吃C克的糖果,而且每一颗糖果不能只吃一半。现在他想通过吃蓝色和红色的糖果来获得最大的欢乐值。
样例解释:每一种糖果吃两颗即可。
单组测试数据。 输入占一行有四个整数C,Hr,Hb,Wr,Wb (1≤C,Hr,Hb,Wr,Wb≤10^9).
输出最大可能获得的欢乐值。
样例输入1 10 3 5 2 3
样例输出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 欧姆诺姆和糖果 (制约关系优化枚举)相关推荐
- 51NOD 1548 欧姆诺姆和糖果
1548 欧姆诺姆和糖果 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 一天,欧姆诺诺姆来到了朋友家里,他发现了许多 ...
- 51nod-1548:欧姆诺姆和糖果
1548 欧姆诺姆和糖果 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 一天,欧姆诺诺姆来到了朋友家里,他发现了 ...
- 对话无政府主义者:诺姆·乔姆斯基谈深度学习的未来
全文共3392字,预计学习时长9分钟 图源:forbes 在过去的几周里,笔者一直在和最喜欢的无政府主义辛迪加主义者诺姆·乔姆斯基进行电子邮件交流.最初联系是为了确认,人工神经网络(ANNs)的最新发 ...
- 操作系统(三)| 进程同步详解(主要任务、制约关系、临界资源、临界区、同步机制遵循规则、信号量机制、信号量的应用)
文章目录 进程的同步基本概念 进程同步的主要任务 进程间的制约关系 临界资源 临界区 同步机制应遵循的规则 信号量机制 整型信号量 记录型信号量 ❤❤❤ AND型信号量 信号量的应用 实现进程互斥 实 ...
- 计算机操作系统专题一:多道环境下进程同步与互斥制约关系的学习
1. 问题描述 设自行车生产线上有一只箱子,其中有N个位置(N≥3),每个位置可存放一个车架或一个车轮,又设有三名工人,其活动分别为: 2. 问题分析(包括涉及的知识点.制约关系分析.问题的解决思路等 ...
- 设置项的相互制约关系
总加组总组数 对F14总加组配置参数有制约作用.如果F14总加组配置参数的总组数超过了F9终端配置数量表的总加组总组数,终端将否认. F9 终端配置数量表的对应的控制项 项 目 当前最大值 作用范围 ...
- 诺信EFD发布的全新“优化点胶”视频介绍了活塞如何改善工艺控制
视频有助于制造商了解活塞选型如何影响流体点胶效果,并防止跳塞现象的产生 罗得岛东普罗维登斯--(美国商业资讯)--诺信(NASDAQ: NDSN)旗下公司.世界领先的精密流体点胶系统制造商诺信EFD推 ...
- archivelog模式和flashback db以及guarantee restore point之间的相互制约关系!
随手记录...[@more@] 21:29:17 SQL> shutdown immediate 数据库已经关闭. 已经卸载数据库. ORACLE 例程已经关闭. 21:29:47 SQL> ...
- TOMCAT 汤姆猫的 安装部署 优化
文章目录 TOMCAT 介绍 tomcat 图标 Tomcat 示意图 来吧!展示! 下载地址 安装JDK 设置环境变量 解压Tomcat 让 systemctl 控制 tomcat tomcat 目 ...
最新文章
- LINQ 学习路程 -- 查询操作 GroupBy ToLookUp
- 7.5. Function
- jzoj3500-物语【最短路】
- enumerate()使用
- 仅使用numpy从头开始实现神经网络,包括反向传播公式推导过程
- linux中的运行模式,Linux系统运行模式介绍
- 常微分方程的初始条件使用
- 圆孔夫琅禾费衍射 matlab,信息光学基于matlab圆孔圆环夫琅禾费衍射论文副本
- 好用的抖音视频剪辑软件推荐
- 高级终端termux下载不了Python_利用termux下载某站受限的番剧
- 5G关键技术简介带你揭开5G神秘面纱
- HTML5超级链接、图片与多媒体
- H5传奇源码,附带微信支付,商城系统,新增了元宝交易商城系统源码
- 递推和递归:一个自下而上,一个自上而下
- 我用新拟物化设计风格,做了一个App改版案例
- OpenHarmony恢复启动子系统init进程之服务启动
- 【转】Java-满天繁星案例
- McAfee刮起中国风 全资子公司拓展在华市场
- mysql中高阶玩法系列(六)
- 通过加速度计和陀螺仪解算姿态
热门文章
- 音视频01-mac环境搭建
- 强化练习2:编程实现统计某年某月份的天数
- 【图片批量处理软件分享】可批量添加水印/批量重命名/批量裁剪/批量缩小尺寸
- k8s集群部署 | 二进制三节点(复用)高可用集群部署过程
- Android玩乐系列:修改汇编代码支持原生高清来电大头贴(一)
- java偶数求和_Java案例2:求和,求偶数和,水仙花数,珠穆朗玛峰
- INLWO-系统调用
- phpemspro模拟考试无试题_GitHub - maosea0125/phpems: PHPEMS在线模拟考试系统
- xgboost设置cpu核数
- 【java项目】仅需俩小时教你学会自己用java做出自己的“黄金矿工’’游戏