题目:
The cows have purchased a yogurt factory that makes world-famous Yucky Yogurt. Over the next N (1 <= N <= 10,000) weeks, the price of milk and labor will fluctuate weekly such that it will cost the company C_i (1 <= C_i <= 5,000) cents to produce one unit of yogurt in week i. Yucky’s factory, being well-designed, can produce arbitrarily many units of yogurt each week.

Yucky Yogurt owns a warehouse that can store unused yogurt at a constant fee of S (1 <= S <= 100) cents per unit of yogurt per week. Fortuitously, yogurt does not spoil. Yucky Yogurt’s warehouse is enormous, so it can hold arbitrarily many units of yogurt.

Yucky wants to find a way to make weekly deliveries of Y_i (0 <= Y_i <= 10,000) units of yogurt to its clientele (Y_i is the delivery quantity in week i). Help Yucky minimize its costs over the entire N-week period. Yogurt produced in week i, as well as any yogurt already in storage, can be used to meet Yucky’s demand for that week.
Input

  • Line 1: Two space-separated integers, N and S.

  • Lines 2…N+1: Line i+1 contains two space-separated integers: C_i and Y_i.
    Output

  • Line 1: Line 1 contains a single integer: the minimum total cost to satisfy the yogurt schedule. Note that the total might be too large for a 32-bit integer.
    Sample Input
    4 5
    88 200
    89 400
    97 300
    91 500
    Sample Output
    126900
    Hint
    OUTPUT DETAILS:
    In week 1, produce 200 units of yogurt and deliver all of it. In week 2, produce 700 units: deliver 400 units while storing 300 units. In week 3, deliver the 300 units that were stored. In week 4, produce and deliver 500 units.

翻译:
有一个奶酪工厂,给出这个工厂每天加工每个奶酪需要的价格,以及每天的需求量,另外,奶酪也可以存放在仓库里,给出每个奶酪存放一天需要的价格,问,这些生产任务全部完成,最少的花费是多少。刚开始看这个题还有一点不太理解,看了好多次还看明白。

思路:
本题因为n的数据比较大所以用二重循环回使时间复杂度过大而是运行超时,所以要使用单重循环。如果第 i 个酸奶成本减去第 i-1 个酸奶成本的差大于s则使用前一个加s,在比较第 i+1 个和第 i-1 的差是否大于2s,如果大于则继续进行上述,以此类推,反之使用第 i 个的酸奶成本。

代码:

#include<iostream>
#include<algorithm>
#include<math.h>
#include<stdio.h>
#include<cstring>
#include <queue>
#include<iomanip>
using namespace std;
struct ch {int c,y;}arr[10004];int main()
{int n,s;cin>>n>>s;for(int i=1;i<=n;i++){cin>>arr[i].c>>arr[i].y;}long long int a,b,c,d=2,e=1;long long sum=arr[1].c*arr[1].y;for(int i=2;i<=n;i++){b=arr[d-1].c;c=b;a=(arr[i].c-b)/s;if(a>=e){c+=e*s;sum+=c*arr[i].y;e++;continue;}sum+=arr[i].c*arr[i].y;e=1;d=i+1;}cout<<sum<<endl;}

贪心算法 Y 美味酸奶相关推荐

  1. 张三的酸奶厂:C++用贪心算法解POJ2393_Yogurt factory问题

    POJ2393 Yogurt factory 题目链接: POJ2393 Yogurt factory 简单理解一下题目: 张三开了一家酸奶场,在接下来N周里每周要给客户提供一定数量的酸奶,每周可以生 ...

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

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

  3. 数据结构——马踏棋盘题解(贪心算法)

    本文转自: https://blog.csdn.net/qq_41596568/article/details/83060317 数据结构--马踏棋盘题解(贪心算法) 使用循环建立棋盘与权值棋盘(权值 ...

  4. 残缺棋盘问题算法分析_javascript使用递归回溯算法和贪心算法解决马踏棋盘问题...

    马踏棋盘算法介绍和游戏演示 1.马踏棋盘算法也被称为骑士周游问题 2.将马随机放在国际象棋的8×8棋盘Board[0-7][0-7]的某个方格中,马按走棋规则(马走日字)进行移动.要求每个方格只进入一 ...

  5. 【控制】贪心算法(GA,Greedy Algorithm)及 Matlab 实现

    文章目录 算法思路 应用实例 仿真 Ref. 算法思路 贪心算法一般按如下步骤进行: 建立数学模型来描述问题. 把求解的问题分成若干个子问题. 对每个子问题求解,得到子问题的局部最优解. 把子问题的解 ...

  6. MATLAB可视化实战系列(二十八)-贪心算法求快速平方根倒数算法中的“魔术数字”【含matlab源代码】

    前言 快速平方根倒数算法(Fast InvSqrt)是一种快速计算平方根的倒数的算法,常用于向量标准化运算,在光照渲染中有重要应用.此算法最早可能是于90年代前期由SGI所发明,后来于1999年在&l ...

  7. 738. 单调递增的数字(贪心算法)

    给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单 ...

  8. 编程之美——买书问题:贪心算法

    1 问题描述及分析 买书折扣问题的描述是,某出版社的<哈里波特>系列共有5卷,每本单卖都是8块钱,如果读者一次购买不同的k(k>=2)卷,就可以享受不同的折扣优惠,如下所示: 问题是 ...

  9. C++——《算法分析与设计》实验报告——贪心算法与回溯法

    实验名称: 贪心算法与回溯法 实验地点: 实验目的: 1.理解贪心算法与回溯法的概念: 2.掌握贪心算法与回溯法的基本要素: 3.掌握贪心算法与回溯法的解题步骤与算法柜架: 4.通过应用范例学习贪心算 ...

  10. leetcode贪心算法题集锦(持续更新中)

    leetcode贪心算法题集锦 leetcode贪心算法题集锦(持续更新中).python 和C++编写. 文章目录 leetcode贪心算法题集锦 一.贪心算法 1.盛最多水的容器 2.买股票的最佳 ...

最新文章

  1. 为什么需要 外键 呢?
  2. Docker基本使用命令
  3. 温习 SQL 01(Z)
  4. 扫盲篇:用户体验不等于可用性
  5. 重磅!Nature子刊:利用GAN来​“深度伪造大脑数据”可以改善残疾人的脑机接口...
  6. python一千行入门代码-Python 有哪些一千行左右的经典练手项目?
  7. Weblogic java.lang.OutOfMemoryError: PermGen space
  8. idea console中文乱码_Python3的字符编码乱码问题解决思路
  9. 英伟达宣布全面支持ARM高性能计算,三周打造全球排名第22超算
  10. mysql各个组件的作用
  11. 太阳光是平行光吗_“彩虹的形成是因为光的色散和光沿直线传播是一回事吗?”...
  12. java设计一百亿的计算器_请设计一个一百亿的计算器
  13. 浏览器判断及客户端跳转,绕开微信对某宝限制
  14. Linux Windows 环境下 RabbitMQ 安装与基本配置
  15. 用Aria2加速下载数据集等
  16. 微信公众号支付报错:当前页面的url未注册
  17. 阿里云ACE备考题库161-240
  18. 什么是GPT,如何克隆GPT类型的磁盘?
  19. html载入3d模型,webGL3D模型的加载与使用
  20. 一份完整的app产品运营推广方案,app推广运营的方法(一)

热门文章

  1. 华为电视测试软件,简单便捷!实测教你华为智慧屏怎么样用USB安装APP
  2. PID参数自整定库之一:继电反馈整定算法
  3. 多线程m3u8下载器 v1.0
  4. html cm和px转换,px和cm换算长度单位 怎么把AI单位里的像素改成毫米?
  5. 移动充电宝市场需求的调研报告
  6. 使用百度批量拾取坐标点-汇总
  7. 安装tensorflow踩的那些坑
  8. 如何通过Homography矩阵制作虚拟图像
  9. 5配置单臂路由器 VLAN 间路由
  10. php调用海康人脸识别摄像机,海康网络摄像机SDK对接