题目连接:http://codeforces.com/problemset/problem/913/C

题意:n个物品 ,第i个物品的体积是2^i-1 花费是ci 每种物品无限使用 问取物品总体积大于等于L时的最小花费。

思路:

考虑:1.由于物品可以无限取,所以当两个第i-1个物品的花费小于第i个物品的花费时,显然前者是更优的策略;

2.物品的体积是基于2^i-1变化的,所以考虑将L转成2进制

3.对于L的二进制来讲,当某一位是1时,直接取此体积所对应的最优取法;当某一位是0时,则代表取了这一位所对应的体积之后,这个体积是一定大于之前所取的体积之和的,这时要比较是之前的方案和现在的方案那个花费更少

注意int范围 用longlong

代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll c[1000],dp[1000],b[1000];
int main() {int n,l;cin >> n >> l;for (int i = 0; i < n; i++) cin >> c[i];dp[0] = c[0];int i = 1, j = 0;for (i; i < n; i++) dp[i] = min(c[i],dp[i-1]<<1);for (i; i <= 30; i++) dp[i] = dp[i-1] << 1;while (l) {b[j++] = l%2; l >>= 1;}ll sum = 0;for (int k = 0; k <= 30; k++) {if(b[k]) sum+=dp[k];else sum = min(sum,dp[k]);}cout << sum << '\n';return 0;
}

源哥每日一题第一弹 codeforces 913 C. Party Lemonade相关推荐

  1. 源哥每日一题第十三弹 百练4124:海贼王之伟大航路 状压dp

    连接:http://bailian.openjudge.cn/practice/4124 题意:从1到n走过所有点恰好一次最短时间.乱搞的话会完美的超时(阶乘级别的复杂度,虽然范围很小,但是也足够超时 ...

  2. 源哥每日一题第十七弹 poj 1568 Alpha-Beta剪枝

    链接:http://poj.org/problem?id=1568 题目:为什么是英文啊题目就是给你一个4*4的OX棋盘,上面已经下了一些棋,然后现在轮到X下,问你有没有一个必胜的方法,有的话就输出坐 ...

  3. 更新“源列表”+中文输入法【第一弹】

    Ubuntu输入法情况 Ubuntu上的输入法有Fcitx.ibus(中文环境默认输入法),以及被淘汰的scim(和衍生品scim-python).旧版本sunpinyin(可以作为ibus模块,也支 ...

  4. 【牛客刷题】带你在牛客刷题第一弹(C/C++语言基础题)

    目录 第一题 你好,牛客 题目 讲解: AC: 第二题 牛牛学说话之-整数 题目 讲解: AC: 第三题 牛牛学说话之-浮点数 题目 讲解: AC: 第四题 牛牛学加法 题目 讲解: AC: 第五题  ...

  5. 【代码源】每日一题 农田划分

    2022.05.12 题目链接:农田划分 - 题目 - Daimayuan Online Judge 题目描述 约翰是一个农场主,他的农场有n块田,编号从 1到 n,这 n块田通过 m条双向道路相连( ...

  6. 考研数学 每日一题 第一题

  7. 2022-03-10每日刷题打卡

    2022-03-10每日刷题打卡 力扣--每日一题 589. N 叉树的前序遍历 给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 . n 叉树 在输入中按层序遍历进行序列化表示,每 ...

  8. 运维面试题(每日一题)

    每日一题 第一周 1.添加路由 2.如何防止Linux命令行或脚本里MySQL登录密码泄露? 3.将前端运行的服务或脚本,如何可以放置到后端进行执行 4.linux网络配置中如何给一块网卡添加多个IP ...

  9. 2022-03-02每日刷题打卡

    2022-03-02每日刷题打卡 代码源--div2每日一题 Alice的德州扑克 - 题目 - Daimayuan Online Judge 德州扑克是目前世界上最流行的扑克游戏,全世界有众多相关的 ...

最新文章

  1. java log4j和logback,跨过slf4j和logback,直接晋级log4j 2
  2. 面试和学习必备--Java多线程
  3. 51Nod-2173 ProjectEuler 71
  4. 我为何爱读代码?你为何也应当爱?
  5. Scanner类的简单用法介绍!
  6. 大厂提供什么样的软硬件来吸引人才?
  7. [css] position跟margin collapse这些特性相互叠加后会怎么样?
  8. jquery分页插件的修改
  9. linux命令cd回退_Linux命令一
  10. 四川信息职业技术学院2019考纲复习
  11. Xilisoft iPad Magic Platinum for Mac如何制作铃声?将联系人传输到计算机/设备?
  12. 【Matlab数学建模】层次分析法
  13. Magnification API-Windows放大镜
  14. python实现归结演绎推理_归结演绎推理
  15. windows 搭建Web服务器和连接局域网打印机
  16. 只有A2L文件如何连接INCA
  17. 动环监控安装及调试过程,动环监控调试是什么
  18. 麻姑山行,记南城麻姑山一日游
  19. python 如何提取 word 内的图片
  20. 完数(难度系数:半颗星)

热门文章

  1. 产品岗常见名词公式及分析方法
  2. 大数据时代最全的医学公共数据库合集整理
  3. Suse linux 关闭防火墙命令,suse防火墙关闭
  4. (自己收藏)全面理解面向对象的 JavaScript
  5. 超详细!Jmeter性能测试(一)
  6. 浅谈嵌入式MCU软件开发之startup过程详解(从复位向量到main函数之前的准备工作)
  7. Wine-Staging 5.6 修补游戏补丁
  8. 鲁菜泰斗同和居 日坛新店用上便民新科技
  9. WAVE SUMMIT+峰会,飞桨八大亮点发布,全面助力产业智能化
  10. 腾讯云服务器性能评测:配置参数16核 32G 28M