POJ 2393-Yogurt factory [贪心] 《挑战程序设计竞赛》2.2

本文介绍了一种针对酸奶厂每日生产和存储成本的优化算法。通过动态调整生产计划以确保每天能满足需求的同时,实现成本最小化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接: POJ 2393-Yogurt factory

题目大意:

酸奶厂造酸奶,每天的原料,工资成本都不同,占单位酸奶的百分之 ci , 每天的需求量也不同,为 yi 。这个酸奶厂很厉害, 只要你想, 它一天可以造出无限的酸奶。酸奶厂还有个巨大无比容量无限的仓库, 可以用来存放没用完的酸奶。每天的存储费用都是一个常数, 单位酸奶的百分之 S 。现在给定了N 天的成本和需求,求每天都能满足需求量的最小的成本和。

输入格式:

第1行,两个数组, N S
接下来2~ N+1 行,每行2个数字, ciyi

输出格式:

一个数字, 表示最小的成本和。

题解:

每天都要满足需求, 所以每天制造酸奶时,成本要么是今天的 ci , 要么是之前的最低成本加上S。可以理解为之前就做好了,放到仓库存着今天拿来用。如果几天前做好,再加上存几个晚上的费用也比今天造酸奶要便宜,那当然是提前做好比较节约成本了。

代码:

 #include <iostream>

using namespace std;
int N, S, c, y;
long long sum = 0;

int main() {
    cin >> N >> S;
    int m = 0x3f3f3f3f; //当前的最小单位成本
    for (int i = 0; i < N; i++) {
        cin >> c >> y;
        m = min(m+S, c);
        sum += m * y;
    }
    cout << sum << endl;
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值