news 2026/7/16 3:16:34

洛谷题目:P1208 [USACO1.3] 混合牛奶 Mixing Milk 题解(本题简)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷题目:P1208 [USACO1.3] 混合牛奶 Mixing Milk 题解(本题简)

介绍:

前言:

给定牛奶总需求量、若干奶农各自的牛奶单价与最大供货量,在采购总量≥需求的前提下,让我们来求出采购牛奶的最小总花费。

#解题思路步骤:

1、明确问题的规则与核心:

1.1、题目中给的每日牛奶的总需求量 n , m个奶农 ,每个奶农呢有固定牛奶单价,最大的时候可以供应奶量,并且呢可以任意里采购不超过奶农上线整数牛奶,求它们凑够 n 总量的最小采购总费用。

1.2、从这道题捏其实不难看出这不就是经典的弹性问题嘛,就是优先购买单价最!便宜的牛奶并且保证总花费是最!低的。

1.3、这道题不考虑暴力枚举所有采购的组合,时间复杂度高啊,题中的规模那肯定是不行的啦。

2、手把手采拆分步骤:

2.1、输入:读入总需求 n, 提供牛奶的农民个数为 m ,并且循环 m 次读取每个奶农的一个单价和供应链并存入结构体的数组。

2.2、进行排序:我们将所有的奶农结构体按照 price 来进行从小到大的升序排列,可以保证便宜货排在前面。

2.3、进行遍历采购:1️⃣如果剩余需求量的 remain 已经为 0 了,那我们就直接跳出循环结束采购。2️⃣当前的奶农的全部产量剩下的需求:全部买下,总花费 += 单价的供应量,剩余的来减去该奶农的所有产量。3️⃣当前奶农全部的产量 > 生育需求,那我们只卖剩下需要的量,总华为 += 单价剩余需求,剩余的需求置于0。

2.4、最后就是输出了:我们直接打印总花费ok完成啦!我俩真厉害!

##复杂度:

1、时间复杂度:

O(m log m)。

2、空间复杂度:

O(m)。

###代码:

#include <iostream> #include <vector> #include <algorithm> using namespace std; // 存储每个奶农的单价和供应量 struct Farmer { int price; int amount; }; // 排序比较函数:单价升序,优先买便宜的 bool cmp(const Farmer &a, const Farmer &b) { return a.price < b.price; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int need, m; cin >> need >> m; vector<Farmer> farmers(m); for (int i = 0; i < m; ++i) { cin >> farmers[i].price >> farmers[i].amount; } // 按单价从小到大排序 sort(farmers.begin(), farmers.end(), cmp); long long ans = 0; int remain = need; for (auto &f : farmers) { if (remain <= 0) break; // 当前奶农全部能买下 if (f.amount <= remain) { ans += 1LL * f.price * f.amount; remain -= f.amount; } else { // 只买需要的部分 ans += 1LL * f.price * remain; remain = 0; } } cout << ans << endl; return 0; }

--- 感谢观看---

制作:Code.小亦
代码提供:Code.小亦
题目思路部分提供:无

代码部分思路提供:无

知识共享:无

知识查找来源:无

初审:Code.小亦。

终审:Code.小亦。

本文章属于原创作品,禁止任何人进行转载,除合作之外!!

如在阅读中发现知识性错误、代码错误、错别字错误等情况私信博主或评论或通过邮箱2952104443@qq.com。

另:题目来源:首页 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

特:本文章/专栏在知乎网站合规授权发布。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/16 3:13:04

Thinking Machines 披露未来技术路线:押注内核级原生实时多模态;AI 潮玩硬件厂商珞博智能完成亿元级 Pre-A 轮融资丨日报

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态度的观点」、「…

作者头像 李华
网站建设 2026/7/16 3:12:49

十分钟高效训练:激活核心肌群,改善身体机能与姿态

1. 先搞清楚“每天十分钟”到底练什么&#xff0c;以及为什么能见效看到“每天训练十分钟&#xff0c;回到18岁的巅峰状态”这种标题&#xff0c;很多人第一反应是怀疑——十分钟能练出什么&#xff1f;但这里的关键不是训练时长&#xff0c;而是训练内容的精准度和持续性。这类…

作者头像 李华
网站建设 2026/7/16 3:12:12

LangChain安全数据库交互:SQL Agent工程化落地指南

1. 项目概述&#xff1a;为什么数据库交互是LangChain落地最关键的“临门一脚”在LangChain生态里&#xff0c;从“能说会道”到“真刀真枪干活”&#xff0c;中间隔着一道最硬的坎——数据库交互。你见过太多人把LLM调得天花乱坠&#xff0c;RAG检索搞得头头是道&#xff0c;一…

作者头像 李华
网站建设 2026/7/16 3:11:07

RAG的三次进化:从朴素检索到Agentic RAG

RAG的三次进化&#xff1a;从朴素检索到Agentic RAG 你有没有问过ChatGPT一个它不知道的问题&#xff0c;结果它编了一个看起来很真的答案&#xff1f;这就是"幻觉"。RAG&#xff08;检索增强生成&#xff09;是解决幻觉最主流的技术。这篇文章从向量检索的数学原理讲…

作者头像 李华