POJ2393贪心
2024-10-09 07:22:31
题意:奶牛们收购了一家世界著名的酸奶工厂Yucky Yogurt. 在接下来的 N (1 <= N <= 10,000) 周,牛奶和人工的价格每周会波动,以致于第i周需要花公司 C_i (1 <= C_i <= 5,000) 美分来生产一个单位的酸奶.
Yucky Yogurt 拥有一个仓库,可以以S (1 <= S <= 100)美分每单位每周的价格储存没用的酸奶。酸奶不会变质,而且仓库足够大。
Yucky Yogurt每周要交货 Y_i (0 <= Y_i <= 10,000) 单位的酸奶给它的客户。输出最少的费用。
题解:每次都取局部最优解,然后将所有的最小值相加,就是整体的最小值。
贪心思路:利用dp得到每周的最小值,dp[i]为第i周的最小值,因为最小值的来源是min(dp[i-1]+S,C[i])
为什么不可能是C[i-2]+2S:因为dp[i-1]<=C[i-2]+S,所以dp[i]<=dp[i-1]+S<=C[i-2]+2S,其余情况同理排除
#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long ll;
ll C[], Y[];
ll dp[];
int main(void)
{
ios::sync_with_stdio(false);
int N, S;
cin >> N >> S;
for (int i = ; i <= N; i++)
cin >> C[i] >> Y[i];
dp[] = C[];
ll sum = dp[]*Y[];
for (int i = ; i <= N; i++)
{
dp[i] = min(C[i], dp[i - ] + S);
sum += dp[i] * Y[i];
}
cout << sum << endl;
return ;
}
最新文章
- 从零开始学 Java - Windows 下安装 Tomcat
- Python的hasattr() getattr() setattr() 函数使用方法详解
- 【经验之谈】前端面试知识点总结(HTML相关)——附答案
- Shell 编程基础之基本语法结构汇总
- odoo.cli.main()指的是哪里?OpenERP的第二根线头儿
- <;译>;Selenium Python Bindings 5 - Waits
- SQL Server中使用convert进行日期转换
- 如何把Excel另存为XML格式文件(快速转换)
- 【好程序员笔记分享】——Cocoapods集成
- 201521123110 《Java程序设计》第7周学习总结
- JS模块化开发----require.js
- vue刷新路由,不刷新页面
- 聚类——KFCM
- MVC和Web API 过滤器Filter
- 理解for循环
- Git 常用使用技巧
- 集合 enum 枚举 简介 案例 MD
- CentOS扩展库配置
- 4.2 event
- Spring Boot与Logback的运用(自定义异常+AOP)
热门文章
- mybatis技术总结
- 为什么zookeeper的节点配置的个数必须是奇数个
- 第二个hibernate Annotation版本的helloworld
- 网络编程-Netty-Reactor模型
- MySQL数据库字符集和排序规则的四个级别
- [转载]java内存工具VisualVM的简单使用以及与Idea集成
- Tensorflow从0到1(4)之神经网络
- Arduino控制超声波检测与0.96OLED及串口显示
- AsyncOperation和SceneManager.LoadSceneAsync协同加载场景
- 【解读】Http协议