很久没做CF了,今天6:30起床复习,考完最后两门寻思终于能好好打CF了,结果这题做一半睡着了-:

http://codeforces.com/contest/913/problem/C

题意:

有n家店铺,每个店铺有一种商品(无限个),每种商品有体积(2的i-1次方),每种商品有价格c[i],问至少买l体积的物品最少需要花费多少钱?

思路:

由于l的范围特别大,所以不能直接背包做,然后我们想一想为什么背包问题不能贪心去做,本质上是因为性价比最高的物体会可能导致空间无法充分利用,而这题则不存在这个问题(可以从二进制的角度去想,比如把l写成二进制,那么最高位的1可以由所有商品买若干个获得,且总是需要获得,所以对于这个最高位的1来说他是可以贪心的。),所以我们可以贪心地尽量多地选取性价比高的物品。
然后再贪心选完了之后还要考虑余下的部分:可以再继续选一个当前物品(体积会超出但是价格却是最低的,或者余下的部分继续搜索,需要加个记忆化或者先排个序贪心的去选)。

#include<bits/stdc++.h>
using namespace std;
long long cost[50],n;
map<long long ,long long> mp;
long long getMinCost(long long l)
{if(mp[l]) return mp[l];if(l==0) return 0;long long q=1<<(n-1);long long ret=1ll<<60;for(long long i=n-1;i>=0;i--){if(q>=l) {ret=min(ret,cost[i]);}else {long long cnt=l/q;ret=min(ret,min(cost[i]*(cnt+1),cost[i]*cnt+getMinCost(l%q)));}q>>=1;}return mp[l]=ret;
}int main()
{long long l;cin>>n>>l;for(long long i=0;i<n;i++){scanf("%lld",&cost[i]);}cout<<getMinCost(l)<<endl;
}

Party Lemonade相关推荐

  1. C#LeetCode刷题之#860-柠檬水找零(Lemonade Change)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4036 访问. 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾 ...

  2. 洛谷 P4379 [USACO18OPEN]Lemonade Line

    P4379 [USACO18OPEN]Lemonade Line 题目描述 这是农场上一个炎热的夏日,Farmer John要给他的 NN 头奶牛发柠檬汽水了!所有的 NN 头奶牛(方便起见,编号为  ...

  3. Rasa课程、Rasa培训、Rasa面试系列之:Rasa客户案例Lemonade公司

    Rasa课程.Rasa培训.Rasa面试系列之:Rasa客户案例Lemonade公司 挑战 总部位于美国的科技公司Lemonade拥有近 5 亿美元的资金,正在彻底改变保险市场.以颠覆保险市场并让人类 ...

  4. 【Codeforces】913C Party Lemonade (贪...)。

    http://codeforces.com/contest/913/problem/C 这个题和以前见过的有点不一样,可以重复选择,这个有点emmm 首先将a数组优化,举个例子,如果1L20元,2L5 ...

  5. leetcode算法题--Lemonade Change

    原题链接:https://leetcode.com/problems/lemonade-change/ bool lemonadeChange(vector<int>& bills ...

  6. 源哥每日一题第一弹 codeforces 913 C. Party Lemonade

    题目连接:http://codeforces.com/problemset/problem/913/C 题意:n个物品 ,第i个物品的体积是2^i-1 花费是ci 每种物品无限使用 问取物品总体积大于 ...

  7. P4379 [USACO18OPEN]Lemonade Line

    最差情况就是耐性最好的牛都在前面. 照此贪心, 排个序以后看从哪个牛开始耐不住就OK 唯一要注意的就是所有牛的耐性都大于\(N\)的情况. #include <cstdio> #inclu ...

  8. C语言/860.(柠檬水找零)Lemonade Change

    先上题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元 ...

  9. 李开复对话Yoshua Bengio:AI技术的下一个突破

    7月23日,在SGInnovate主办的"深度科技(Deep Tech)造福人类"活动上,创新工场董事长兼CEO李开复与Element AI联合创始人Yoshua Bengio进行 ...

最新文章

  1. java字符串 n换行符_java切割字符串中的回车应注意是\n\r不是\n
  2. GitHub上如何进行PR(Pull Request)操作——简版
  3. 记录 centos samba 安装
  4. 【Android开发】我的第一个安卓程序
  5. php基础教程 第九步 自定义函数
  6. docker es持久化_Docker 搭建 ES 集群并整合 Spring Boot
  7. 文件和目录(一)--unix环境高级编程
  8. Android service Binder用法
  9. 转 Android设置全屏的方法
  10. P2P技术原理及应用
  11. 计算机连接交换机配置命令,[计算机]交换机配置命令.doc
  12. Androidstudio开发ARcore
  13. python 实现软件激活码验证
  14. 二阶矩阵转置怎么求_这个二阶矩阵的二范数怎么求
  15. Java牛客网输入测试用例
  16. java实现文件上传下载功能
  17. Ext3、Ext4、FAT、FAT32、NTFS、exFAT、Sparse、Raw
  18. opencv 去除背景
  19. 从移动互联网时代到物联网时代 梆梆安全追寻“本质安全”
  20. vue el-table 动态添加行、删除行

热门文章

  1. X猫免费小说安卓逆向分析
  2. PS自动批量处理文件夹下所有文件
  3. 苹果5G芯片研发失败:继续依赖高通,还要担心被起诉?
  4. 计算机义务维修事迹材料,学雷锋义务维修电脑活动策划书与学雷锋事迹材料:身边的榜样合集.doc...
  5. neso n810 i7 android 4.4,搭载64位英特尔芯 NESO N810 i7平板电脑发布
  6. IE8兼容性问题及解决方案
  7. 类型BYTE,WORD与DWORD
  8. 有些人走着走着就散了,有些事想着想着就忘了……
  9. Django讲课笔记02:Django环境搭建
  10. 好看的css 显示 php,HTML+CSS实现好看的三角形提示框样式