POJ2393 Yogurt factory

题目链接:
POJ2393 Yogurt factory

简单理解一下题目:
张三开了一家酸奶场,在接下来N周里每周要给客户提供一定数量的酸奶,每周可以生产无限量的酸奶,就是可以选择一次生产完也可以分期生产,然后每周生产的成本不一样,而且提前生产的酸奶可以拿去储存,储存单价是固定的,我们需要给张三提供一个方案使得在满足酸奶供应的情况下,成本最小。

简单分析:
这题是个典型的贪心算法题,我们从第一周开始生产酸奶,后面每一周采用循环,找出最省钱的方案,比如第二周单位酸奶成本是100,但是第一周是90,而储存的成本是5,那么90+5<100,所以应该选择第一周就把第二周的量生产了,然后储存起来,等到第二周再拿给客户。每一周的酸奶都只能在前面的周或者当前周生产,每个周都要考虑前面所有的周,比较一下哪个周的成本+储存单价*储存周数是最小的,就在成本最小的那一个周进行酸奶的生产。

AC代码:

#include<iostream>using namespace std;const int MAX_N = 100000;int N, S;
long long Sum_price = 0;struct node {int week, price, sum;
}Yogurt[MAX_N];void solve()
{Sum_price += Yogurt[0].price * Yogurt[0].sum;for (int i = 1; i < N; i++){int p = Yogurt[i].price;for (int j = 0; j < i; j++){if ((Yogurt[j].price + S * (i - j)) < Yogurt[i].price){p = Yogurt[j].price + S * (i - j);}}Sum_price += Yogurt[i].sum * p;}
}int main()
{cin >> N >> S;for (int i = 0; i < N; i++){cin >> Yogurt[i].price >> Yogurt[i].sum;}solve();cout << Sum_price << endl;return 0;
}/*
4 5
88 200
89 400
97 300
91 500
*/

做题心得:
这个题比较简单,一遍过了,已经好久没有一次过了,找回一点点信心也是好的哈哈哈哈哈哈哈哈哈哈哈

张三的酸奶厂:C++用贪心算法解POJ2393_Yogurt factory问题相关推荐

  1. 贪心算法解旅行家的预算问题

    贪心算法解旅行家的预算问题 题目描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1汽车油箱的容量C(以升为单位).每升汽油能行驶的距离D2 ...

  2. leetcode 贪心_利用贪心算法解LeetCode第1253题:重构2行二进制矩阵

    题目描述 给你一个 2 行 n 列的二进制数组:矩阵是一个二进制矩阵,这意味着矩阵中的每个元素不是 0 就是 1.第 0 行的元素之和为 upper.第 1 行的元素之和为 lower.第 i 列(从 ...

  3. 算法——贪心算法解0-1背包问题

    问题的描述 我们先根据一个贪心算法的经典应用实例,然后给出贪心算法的实现步骤与关键环节,最后给出C++代码求解0-1背包问题. 背包问题(Knapsack Problem):有NN件物品有一个承重(也 ...

  4. 用贪心算法解背包问题(装载问题)

    题目描述 给定一个最大载重量为M的卡车和N种食品,有食盐,白糖,大米等.已知第 i 种食品的最多拥有Wi 公斤,其商品价值为Vi元/公斤,编程确定一个装货方案,使得装入卡车中的所有物品总价值最大. 题 ...

  5. 每日一题:贪心算法解救生艇问题

    问题描述: 来源:LeetCode第881题 难度:中等 给定数组 people .people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit. 每艘船最多可同时 ...

  6. 贪心算法解硬币找零问题

    假如有一种货币,它有面值为1分.2分.5分和1角的硬币,最少需要多少个硬币来找出K分钱的零钱? 按照贪心算法的思想,需要不断地使用面值最大的硬币.如果要找零的值小于最大的硬币值,则尝试第二大的硬币,依 ...

  7. 贪心算法 背包问题 java_贪心算法解背包问题

    背包问题:与0-1背包问题类似,所不同的是在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包,1 <= i <= n.这2类问题都具有最优子结构性质,极为相似,但背包问 ...

  8. 算法学习——贪心算法解渡河问题(C语言版)

    题目一:有A组人,每组有N人,想用一艘船渡河,该船一次只能载两个人.每个人划船的速度不同,当两个人一组时船的速度由最慢的人决定.求一种方法能让所有人过河并且船的往返时间最短. 输入:第一行输入A:第二 ...

  9. 算法设计与分析第3章 贪心算法

    第4章 贪心算法 贪心算法总是作出在当前看来最好的选择.也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择. 贪心算法的基本要素 1.贪心选择性质 所谓贪心选择性质是指所 ...

最新文章

  1. 疑问:c++中的memset
  2. Oracle RMAN备份深入解析--联机备份
  3. python 3解释器_Python3解释器
  4. 元件又焊反了,电路板又在冒烟了!
  5. javascript 控制弹出窗口
  6. C++隐式类类型转换
  7. OD常用快捷键(对比SoftICE)
  8. 查找项目里面资源文件报空指针的解决办法
  9. OpenXR+Runtime:OpenXR SDK Source Code源码编译
  10. 【云计算】云计算六大优点简单说明
  11. android 网页存储,90%的人不懂将网页永久保存在手机里的方法
  12. Deep learning-based method coupled with small sample learning for solving partial differential equat
  13. ClickHouse 深度解析第二篇
  14. 7-9 用天平找小球
  15. 水刺无纺布滤芯详细说明
  16. matlab中:错误使用 handle.handle/set 对象无效或已删除
  17. Kendo ui 使用总结----Kendo UI 模板
  18. 新绝代双骄3终极全攻略5
  19. 苹果笔记本电脑无法检查更新解决方案
  20. busybox rootfs

热门文章

  1. 微信小程序云开发教程-手把手:获取微信订阅消息的模板ID
  2. Shell全解析(一):Shell脚本
  3. 连连看连接算法Javascript版
  4. (六)统计学习方法 | 支持向量机
  5. 使用showdoc快速生成在线文档
  6. 时钟芯片PCF8563应用
  7. C语言如何读取一行数据,直到按空格结束
  8. jar包的类什么时候需要@Bean引入
  9. 《配电网自动化技术》第一章
  10. 经济高效 无盘组网设备选购方案(转)