当前位置: 首页 > news >正文

洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk

 最后水一篇水题题解(实在太水了)

# [USACO1.3]混合牛奶 Mixing Milk

## 题目描述

由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。

Marry 乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格可能相同。此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天 Marry 乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。

给出 Marry 乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。

注:每天所有奶农的总产量大于 Marry 乳业的需求量。

## 输入格式

第一行二个整数 $n,m$,表示需要牛奶的总量,和提供牛奶的农民个数。

接下来 $m$ 行,每行两个整数 $p_i,a_i$,表示第 $i$ 个农民牛奶的单价,和农民 $i$ 一天最多能卖出的牛奶量。

## 输出格式

单独的一行包含单独的一个整数,表示 Marry 的牛奶制造公司拿到所需的牛奶所要的最小费用。

## 样例 #1

### 样例输入 #1

```
100 5
5 20
9 40
3 10
8 80
6 30
```

### 样例输出 #1

```
630
```

## 提示

【数据范围】  
对于 $100\%$ 的数据:  
$0 \le n,a_i \le 2 \times 10^6$,$0\le m \le 5000$,$0 \le p_i \le 1000$

题目翻译来自 NOCOW。

USACO Training Section 1.3

我的题解:

#include<stdio.h>
#include<stdlib.h>typedef struct nongmin {int p, a;
} nongmin;
/*typedef用在这里算是一个小技巧,可以在后面直接写nongmin而非再敲个struct nongmin,算是省了点*/
int cmp(const void *x, const void *y) {return (*( nongmin * )x).p - (*( nongmin * )y).p ;
}//这个cmp得在*(nongmin*)x的外面加个括号,不然会由于优先级的问题而CEstruct nongmin NM[5007];int main() {int niunai, m;scanf("%d%d", &niunai, &m);int i = 0;for (; i < m; i++) {scanf("%d%d", &NM[i].p, &NM[i].a);}qsort(NM, i, sizeof(nongmin), cmp);/*qsort函数可以参考我的这篇文章:https://blog.csdn.net/m0_73687800/article/details/129209703?spm=1001.2014.3001.5502*/int localNiunai = 0, yusuan = 0;//localNiunai:目前的牛奶量//yusuan:预算for (int i = 0; localNiunai < niunai; i++) {if ((localNiunai + NM[i].a) <= niunai) {yusuan += NM[i].a * NM[i].p;localNiunai += NM[i].a;} else {yusuan += NM[i].p * (niunai - localNiunai);localNiunai = niunai;}}printf("%d\n", yusuan);return 0;
}

 

 

相关文章:

洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk

最后水一篇水题题解&#xff08;实在太水了&#xff09; # [USACO1.3]混合牛奶 Mixing Milk ## 题目描述 由于乳制品产业利润很低&#xff0c;所以降低原材料&#xff08;牛奶&#xff09;价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。 Marry 乳业从一些奶农手…...

数据库的基本查询

注意&#xff1a;LIMIT的两个参数&#xff0c;第一个是起始位置&#xff0c;第二个是一次查询到多少页。注意&#xff1a;什么类型的数字都是可以排序的。日期的降序是从现在到以前&#xff0c;MySQL ENUM值如何排序&#xff1f;在MYSQL中&#xff0c;我们知道每个ENUM值都与一…...

10 分钟把你的 Web 应用转为桌面端应用

在桌面端应用上&#xff0c;Electron 也早已做大做强&#xff0c;GitHub桌面端、VSCode、Figma、Notion、飞书、剪映、得物都基于此。但最近后起之秀的 Tauri 也引人注目&#xff0c;它解决了 Electron 一个大的痛点——打包产物特别大。 我们知道 Electron 基于谷歌内核 Chro…...

Delphi RSA加解密(二)

dll开发环境: Delphi XE 10.1 Berlin exe开发环境: Delphi 6 前提文章: Delphi RSA加解密(一) 目录 1. 概述 2. 准备工作 2.1 下载DEMO程序 2.2 字符编码说明 3. Cryption.dll封装 3.1 接口概况 3.2 uPub.pas单元代码 3.3 uInterface.pas单元代码 3.4 特别注意 4. 主程序…...

pytorch 深度学习早停设置

当你设置早停的时候你需要注意的是你可能得在几个epoch后才开始判断早停。 早停参数设置 早停&#xff08;Early Stopping&#xff09;是一种常用的防止深度学习模型过拟合的方法。早停的设置需要根据具体情况进行调整&#xff0c;常见的做法是在模型训练过程中使用验证集&am…...

【Vue学习】Vue高级特性

1. 自定义v-model Vue中的自定义v-model指的是在自定义组件中使用v-model语法糖来实现双向绑定。在Vue中&#xff0c;通过v-model指令可以将表单元素的值与组件实例的数据进行双向绑定。但是对于自定义组件&#xff0c;如果要实现v-model的双向绑定&#xff0c;就需要自定义v-…...

Android 12.0 系统Settings去掉开发者模式功能

1.概述 在12.0的系统rom产品定制化开发中,在系统Settings中的关于手机的选项中,系统默认点击版本号5次会自动打开开发者模式,但是在某些产品开发过程中,禁止打开开发者模式,需要去掉开发者模式的功能,所以需要在系统Settings中查看开发者模式的相关流程代码,然后禁用掉开…...

buu [NCTF2019]babyRSA 1

题目描述&#xff1a; 题目分析&#xff1a; 首先明确两个公式&#xff1a; e*d 1 mod (p-1)(q-1) ed1 e*d - 1 k(p-1)(q-1)想要解出此题&#xff0c;我们必须知道n,而要知道n,我们要知道p和q的值通过 e*d 的计算&#xff0c;我们知道其长度为2066位&#xff0c;而生成p的…...

Java:如何选择一个Java API框架

Java编程语言是一种高级的、面向对象的语言&#xff0c;它使开发人员能够创建健壮的、可重用的代码。Java以其可移植性和平台独立性而闻名&#xff0c;这意味着Java代码可以在任何支持Java运行时环境(JRE)的系统上运行。Java和Node js一样&#xff0c;是一种功能强大的通用编程…...

mt6735 MIC 音量的调整及原理介绍

[DESCRIPTION] MIC 音量的调整及原理介绍[SOLUTION] audio_ver1_volume_custom_default.h#define VER1_AUD_VOLUME_MIC \ 64,112,192,144,192,192,184,184,184,184,184,0,0,0,0,\ 255,192,192,180,192,192,196,184,184,184,184,0,0,0,0,\ 255,208,208,180,255,208,196,0,0,0,0,…...

【深度学习】什么是线性回归逻辑回归单层神经元的缺陷

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录逻辑回归&线性回归单层神经元的缺陷单层神经元的缺陷逻辑回归&线性回归 线性回归预测的是一个连续值&#xff0c; 逻辑回归给出的”是”和“否”的回答. 等…...

Spring拦截器

SpringMVC提供了拦截器机制&#xff0c;允许运行目标方法之前进行一些拦截工作或者目标方法运行之后进行一下其他相关的处理。自定义的拦截器必须实现HandlerInterceptor接口。preHandle()&#xff1a;这个方法在业务处理器处理请求之前被调用&#xff0c;在该方法中对用户请求…...

8个可能降低网站搜索引擎信任度的错误

如果觉得文章对你有用请点赞与关注&#xff0c;每一份支持都是我坚持更新更优质内容的动力&#xff01;&#xff01;&#xff01;例如&#xff0c;发布一段质量差的网站内容不会完全破坏您的排名机会&#xff0c;只要您的内容策略的其余部分井井有条。但是本地SEO中存在一些错误…...

弱监督论文阅读:P2BNet算法笔记

标题&#xff1a;Point-to-Box Network for Accurate Object Detection via Single Point Supervision 会议&#xff1a;ECCV2022 论文地址&#xff1a;https://link.springer.com/10.1007/978-3-031-20077-9_4 官方代码&#xff1a;http://www.github.com/ucas-vg/P2BNet 作者…...

使用Java编写Hive的UDF实现身份证号码校验及15位升级18位

使用Java编写Hive的UDF实现身份证号码校验及15位升级18位 背景 在数仓项目中&#xff0c;有时候会根据身份证信息做一些取数filter或者条件判断的相关运算进而获取到所需的信息。古人是用Oracle做数仓&#xff0c;理所当然是用SQL写UDF【虽然SQL写UDF给SQL用就像用鸡肉饲养肉…...

前端:分享JS中7个高频的工具函数

目录 ◆1、将数字转换为货币 ◆2、将 HTML 字符串转换为 DOM 对象 ◆3、防抖 ◆4、日期验证 ◆5、将 FormData&#xff08;表单数据&#xff09;转换为 JSON ◆6、衡量一个函数的性能 ◆7、从数组中删除重复项 JavaScript 实用函数是有用的、可重复使用的片段&#xff0…...

docker基础用法及镜像和容器的常用命令大全

1.docker 体系架构 Docker 采用了 C / S 架构&#xff0c;包括客户端和服务端。Docker 守护进程作为服务端接受来自客户端的请求&#xff0c;并处理这些请求&#xff08;创建、运行、分发容器&#xff09;。客户端和服务端既可以运行在一个机器上&#xff0c;也可通过 socket 或…...

Spring(Bean生命周期)

目录 1. 生命周期简图2. 扩展接口介绍 2.1 Aware接口2.2 BeanPostProcessor接口2.3 InitializingBean2.4 DisposableBean2.5 BeanFactoryPostProcessor接口3. spring的简化配置 3.1 项目搭建3.2 Bean的配置和值注入3.3 AOP的示例 1. 生命周期简图 2. 扩展接口介绍 2.1 Aware接…...

什么是分布式锁?几种分布式锁分别是怎么实现的?

一、什么是分布式锁&#xff1a; 1、什么是分布式锁&#xff1a; 分布式锁&#xff0c;即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题&#xff0c;而分布式锁&#xff0c;就是解决了分布式系统中控制共享资源访问的问题。与单体应用不同的是&am…...

【一天一门编程语言】R 语言程序设计极简教程

R 语言程序设计极简教程 文章目录 R 语言程序设计极简教程R语言简介1.1 介绍1.2 R 语言的基础知识1.2.1 语法1.2.2 数据类型1.2.3 基本操作1.3 R 语言的高级知识1.3.1 函数1.3.2 包1.3.3 面向对象编程1.4 使用 R 语言的实践1.4.1 数据处理1.4.2 数据可视化1.4.3 数据建模1.4.3.…...

Umi-OCR:重新定义本地化文字识别的工作流范式

Umi-OCR&#xff1a;重新定义本地化文字识别的工作流范式 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片&#xff0c;PDF文档识别&#xff0c;排除水印/页眉页脚&#xff0c;扫描/生成二维码。内置多国语言库。 …...

5分钟搞定AutoHotkey脚本转EXE:Ahk2Exe终极编译指南

5分钟搞定AutoHotkey脚本转EXE&#xff1a;Ahk2Exe终极编译指南 【免费下载链接】Ahk2Exe Official AutoHotkey script compiler - written itself in AutoHotkey 项目地址: https://gitcode.com/gh_mirrors/ah/Ahk2Exe 想要将AutoHotkey脚本快速转换为独立的可执行文件…...

终极免费抖音无水印视频下载完整教程:3步快速获取高清素材

终极免费抖音无水印视频下载完整教程&#xff1a;3步快速获取高清素材 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback s…...

抖音无水印下载完全指南:5分钟掌握批量下载核心技巧

抖音无水印下载完全指南&#xff1a;5分钟掌握批量下载核心技巧 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...

ARMv8汇编指令实战解析:adrp、adr与adr_l在Linux内核启动中的应用

1. ARMv8寻址指令家族概览 在ARMv8架构中&#xff0c;adrp、adr和adr_l这三个指令堪称地址计算的"三剑客"。它们虽然名字相似&#xff0c;但各自有着独特的设计哲学和应用场景。就像搬家时选择不同的交通工具——adr是短途搬运的小推车&#xff0c;adrp是能承载重物的…...

Qwen3-8B快速体验报告:部署简单,中文理解能力确实强

Qwen3-8B快速体验报告&#xff1a;部署简单&#xff0c;中文理解能力确实强 1. 开箱即用的AI体验 最近在测试各种开源大模型时&#xff0c;我发现了Qwen3-8B这个宝藏模型。作为Qwen系列的最新成员&#xff0c;这个80亿参数的模型在中文理解和推理能力上表现突出&#xff0c;最…...

SeqGPT-560M智能邮件分类系统实战

SeqGPT-560M智能邮件分类系统实战 1. 引言&#xff1a;邮件管理的痛点与解决方案 每天打开邮箱&#xff0c;看到堆积如山的未读邮件&#xff0c;是不是感觉头大&#xff1f;工作邮件、会议通知、促销信息、垃圾邮件全都混在一起&#xff0c;找重要邮件就像大海捞针。手动分类…...

QwQ-32B多模态应用实践:文本与图像联合处理

QwQ-32B多模态应用实践&#xff1a;文本与图像联合处理 最近在折腾AI模型的时候&#xff0c;发现很多朋友对多模态应用特别感兴趣。所谓多模态&#xff0c;简单说就是让AI能同时理解文字和图片&#xff0c;甚至还能把两者结合起来处理。这听起来挺酷的&#xff0c;但实际操作起…...

Canvas Quest跨平台部署实践:从星图GPU到本地环境的迁移

Canvas Quest跨平台部署实践&#xff1a;从星图GPU到本地环境的迁移 1. 前言&#xff1a;为什么需要跨平台部署 最近遇到不少开发者朋友在问同一个问题&#xff1a;在星图GPU平台上跑得好好的Canvas Quest模型&#xff0c;怎么迁移到本地环境就各种报错&#xff1f;这其实是个…...

nlp_gte_sentence-embedding_chinese-large保姆级教程:免配置镜像启动+Web界面使用详解

nlp_gte_sentence-embedding_chinese-large保姆级教程&#xff1a;免配置镜像启动Web界面使用详解 你是不是经常遇到这样的问题&#xff1a;手里有一堆文档&#xff0c;想快速找到和某个问题最相关的内容&#xff0c;却只能靠关键词搜索&#xff0c;结果要么漏掉&#xff0c;要…...