首页 > 其他分享 >「CF526C」 Om Nom and Candies

「CF526C」 Om Nom and Candies

时间:2024-03-22 15:35:42浏览次数:22  
标签:Nom Om Candies ll sqrt 枚举 糖果 复杂度

题意

有两种糖果,给出每种糖果的重量 \(w_r,w_b\) 和吃掉一颗获得的快乐值 \(h_r,h_b\)。

你最多可以吃 \(c\) 重量的糖果,求最大可获得的快乐值。

分析

看前面很多 dalao 都用了一些很强的算法,我只能来水一发 \(O(\sqrt n)\) 的暴力。

考虑枚举每种糖果吃掉的数量,但是时间复杂度最大可到 \(10^9\),明显过不了。

我们发现,若吃红糖 \(i\) 颗,那么可吃蓝糖 \((c-i\times w_r)\div w_b\) 颗,反之亦然。

所以只要在枚举时考虑两种情况,可以在枚举 \(1\sim\sqrt n\) 时同时计算 \(\sqrt n\sim n\) 的值。

所以就直接打一个循环暴力水过,时间复杂度 \(O(\sqrt n)\)。

Code

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
inline ll read(){ll x=0,f=1;char c=getchar();while(c<48||c>57){if(c==45)f=0;c=getchar();}while(c>47&&c<58)x=(x<<3)+(x<<1)+(c^48),c=getchar();return f?x:-x;}
ll c,hr,hb,wr,wb,ans;
signed main(){
    c=read(),hr=read(),hb=read(),wr=read(),wb=read();
    for(ll i=0;i<=sqrt(c);++i){
        if(i*wr<c){
            ans=max(ans,i*hr+(c-i*wr)/wb*hb);
        }
        if(i*wb<c){
            ans=max(ans,i*hb+(c-i*wb)/wr*hr);
        }
    }
    printf("%lld",ans);
}

标签:Nom,Om,Candies,ll,sqrt,枚举,糖果,复杂度
From: https://www.cnblogs.com/run-away/p/18089596

相关文章

  • 使用PureComponent进行自动优化
    在React应用中,性能优化是一个重要的环节,尤其是对于企业级的电子商务系统来说,良好的用户体验直接关联到用户留存和转化率。PureComponent是React提供的一个工具,能帮助我们在一些场景下自动进行性能优化。接下来,我将通过简单易懂的语言解释PureComponent是什么,它如何工作,以及如何......
  • 【DOM】重绘与重排详解及在性能优化中的应用
    DOM树表示页面结构渲染树表示DOM节点如何展示DOM树中需要展示的节点在渲染树中至少存在一个对应的节点(隐藏的DOM元素在渲染树中没有对应的节点)。渲染树中的节点被称为“帧(frames)”或“盒(boxes)”。符合CSS模型的定义。理解页面元素为一个具有内边距、外边距、边框、位置......
  • Rust 的 PhantomData
    在Rust中,PhantomData是一个零大小的标记类型,用于表示泛型参数的某种“幽灵”所有权或依赖性,而不实际持有该类型的数据。它在标准库中的std::marker模块下提供。使用PhantomData的主要场景有:占位以满足泛型约束:有时我们定义了一个泛型结构体,但是并没有直接使用到该......
  • COMP226市场微观结构及其对交易
    COMP226课业1持续评估数字任务于2024年2月26日星期一发布截止日期:2024年3月22日星期五21:00提交模式将单个R文件“solution.R”提交到画布上的CodeGrade分配学习成果评估了解市场微观结构及其对交易的影响。任务目标从订单信息中重建限额订单簿;计算数量基于限额订单簿标准截止日......
  • MVVM中ICommand的具体使用
    本节使用MVVM模式进行演示MyCommand为自定义的命令类,代码如下:publicclassMyComand:ICommand{privatereadonlyAction<object>_action;privatereadonlyFunc<object,bool>?_func;publicMyComand(Action<object>action,Func<object,bool>......
  • Windows下com及word
    原文链接:https://blog.csdn.net/Liuqz2009/article/details/124328777读写Word日常开发的软件使用最多的应该是导出数据到 Word 文档中,目前可以用的方案有这几种COM简介Microsoft组件对象模型(COM)是一个独立于平台的分布式面向对象的系统,用于创建可交互的二进制软件组......
  • ICommand的实现(1)
    ICommand接口在System.Windows.Input命名空间内定义。它有两个方法和一个事件。////摘要://Occurswhenchangesoccurthataffectwhetherornotthecommandshouldexecute.eventEventHandler?CanExecuteChanged;////摘要://......
  • fastendpoint+maomi的一种实现原理
    1整个框架就是fastendpoint(api处理,鉴权授权,参数校验,对象映射等基础功能集成),maoni(Service注入,依赖关系处理,参考的是abp,比较轻量级,源码我放在附件里了,实现模块化注入)fastendpoint:https://fast-endpoints.com/maomi: https://maomi.whuanle.cn/1.module.html2项目截图:......
  • 论文精读系列文章——Point-LIO: Robust High-Bandwidth Light Detection and Ranging
    论文精读系列文章下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此论文精读系列文章链接下面是专栏地址:论文精读系列文章专栏文章目录论文精读系列文章论文精读系列文章链接论文精读系列文章专栏前言论文精读系列文章——......
  • 如何在Kubernetes集群中集成Cromwell和Volcano(概述)
    将Cromwell和Volcano在Kubernetes集群中集成,使用Volcano作为Cromwell调度器,涉及到在Kubernetes集群上安装和配置这两个系统以及确保它们能够无缝协作。以下是一个基于理解和实际操作经验的概括步骤,旨在指导如何进行这一集成:步骤1:安装Kubernetes集群确保你已经......