博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces C - Om Nom and Candies
阅读量:7011 次
发布时间:2019-06-28

本文共 736 字,大约阅读时间需要 2 分钟。

思路:贪心+思维(或者叫数学)。假设最大值max(wr,wb)为wr,当c/wr小于√c时,可以枚举r糖的数量(从0到c/wr),更新答案,复杂度√c;否则,假设hr/wr<hb/wr,得到hr*wb<hb*wr,由这个等式可知,在有wb*wr重量限制的情况下,买wb个r糖没有买wr个b糖划算,当需要买超过wb个r糖时,不如去买b糖,可以枚举r糖的数量(从0到wb-1),更新答案,复杂度√c。

代码

#include
using namespace std;#define ll long long const int N=1e5+5;const int INF=0x3f3f3f3f;int main(){ ll c,hr,hb,wr,wb; cin>>c>>hr>>hb>>wr>>wb; if(wr<=wb)swap(wr,wb),swap(hr,hb); ll n=c/wr; ll ans=0; if(n<=sqrt(c)) { for(ll i=0;i<=n;i++) { ll temp=c-i*wr; ll j=temp/wb; ans=max(ans,(ll)i*hr+(ll)j*hb); } } else { if(hr*wb>=hb*wr)swap(wr,wb),swap(hr,hb); for(ll i=0;i

 

转载于:https://www.cnblogs.com/widsom/p/7233768.html

你可能感兴趣的文章
程矢Axure夜话:程序员眼中的原型设计视频教程之书到用时方恨少
查看>>
网站降权怎么办
查看>>
esxi 4.x升级至5.0
查看>>
Hibernate中save、persist和saveOrUpdate这三个方法的区别
查看>>
c++去掉字符串中连续的空格,只保留一个
查看>>
按钮动画学习2
查看>>
我的友情链接
查看>>
纯靠内链提权重
查看>>
linux因环境变量修改错误,造成命令查找不到,且无法登陆系统解决办法
查看>>
元芳,你怎么看,网络为何会如此流行!
查看>>
计算机运行命令全集
查看>>
Android项目之旅三 简易Mp3播放器从获取服务器端Mp3信息
查看>>
将一个数组中的奇元素全部移到数组的前半部分,即将奇偶元素分开
查看>>
无需SDK的统计工具,让哥赚了个iphone6
查看>>
没有做数据备份 网站随时毁于一旦
查看>>
Python学习笔记
查看>>
js中json与字符串转换小例子
查看>>
学习笔记-实验楼项目课(Linux桌面字典)
查看>>
Spring基础问答
查看>>
iOS8 相机拍照问题 Snapshotting a view
查看>>