贪心算法 Y 美味酸奶
题目:
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.
OutputLine 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 美味酸奶相关推荐
- 张三的酸奶厂:C++用贪心算法解POJ2393_Yogurt factory问题
POJ2393 Yogurt factory 题目链接: POJ2393 Yogurt factory 简单理解一下题目: 张三开了一家酸奶场,在接下来N周里每周要给客户提供一定数量的酸奶,每周可以生 ...
- 算法设计与分析第3章 贪心算法
第4章 贪心算法 贪心算法总是作出在当前看来最好的选择.也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择. 贪心算法的基本要素 1.贪心选择性质 所谓贪心选择性质是指所 ...
- 数据结构——马踏棋盘题解(贪心算法)
本文转自: https://blog.csdn.net/qq_41596568/article/details/83060317 数据结构--马踏棋盘题解(贪心算法) 使用循环建立棋盘与权值棋盘(权值 ...
- 残缺棋盘问题算法分析_javascript使用递归回溯算法和贪心算法解决马踏棋盘问题...
马踏棋盘算法介绍和游戏演示 1.马踏棋盘算法也被称为骑士周游问题 2.将马随机放在国际象棋的8×8棋盘Board[0-7][0-7]的某个方格中,马按走棋规则(马走日字)进行移动.要求每个方格只进入一 ...
- 【控制】贪心算法(GA,Greedy Algorithm)及 Matlab 实现
文章目录 算法思路 应用实例 仿真 Ref. 算法思路 贪心算法一般按如下步骤进行: 建立数学模型来描述问题. 把求解的问题分成若干个子问题. 对每个子问题求解,得到子问题的局部最优解. 把子问题的解 ...
- MATLAB可视化实战系列(二十八)-贪心算法求快速平方根倒数算法中的“魔术数字”【含matlab源代码】
前言 快速平方根倒数算法(Fast InvSqrt)是一种快速计算平方根的倒数的算法,常用于向量标准化运算,在光照渲染中有重要应用.此算法最早可能是于90年代前期由SGI所发明,后来于1999年在&l ...
- 738. 单调递增的数字(贪心算法)
给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单 ...
- 编程之美——买书问题:贪心算法
1 问题描述及分析 买书折扣问题的描述是,某出版社的<哈里波特>系列共有5卷,每本单卖都是8块钱,如果读者一次购买不同的k(k>=2)卷,就可以享受不同的折扣优惠,如下所示: 问题是 ...
- C++——《算法分析与设计》实验报告——贪心算法与回溯法
实验名称: 贪心算法与回溯法 实验地点: 实验目的: 1.理解贪心算法与回溯法的概念: 2.掌握贪心算法与回溯法的基本要素: 3.掌握贪心算法与回溯法的解题步骤与算法柜架: 4.通过应用范例学习贪心算 ...
- leetcode贪心算法题集锦(持续更新中)
leetcode贪心算法题集锦 leetcode贪心算法题集锦(持续更新中).python 和C++编写. 文章目录 leetcode贪心算法题集锦 一.贪心算法 1.盛最多水的容器 2.买股票的最佳 ...
最新文章
- 为什么需要 外键 呢?
- Docker基本使用命令
- 温习 SQL 01(Z)
- 扫盲篇:用户体验不等于可用性
- 重磅!Nature子刊:利用GAN来​“深度伪造大脑数据”可以改善残疾人的脑机接口...
- python一千行入门代码-Python 有哪些一千行左右的经典练手项目?
- Weblogic java.lang.OutOfMemoryError: PermGen space
- idea console中文乱码_Python3的字符编码乱码问题解决思路
- 英伟达宣布全面支持ARM高性能计算,三周打造全球排名第22超算
- mysql各个组件的作用
- 太阳光是平行光吗_“彩虹的形成是因为光的色散和光沿直线传播是一回事吗?”...
- java设计一百亿的计算器_请设计一个一百亿的计算器
- 浏览器判断及客户端跳转,绕开微信对某宝限制
- Linux Windows 环境下 RabbitMQ 安装与基本配置
- 用Aria2加速下载数据集等
- 微信公众号支付报错:当前页面的url未注册
- 阿里云ACE备考题库161-240
- 什么是GPT,如何克隆GPT类型的磁盘?
- html载入3d模型,webGL3D模型的加载与使用
- 一份完整的app产品运营推广方案,app推广运营的方法(一)