洛谷 P1208混合牛奶 题解
一道贪心算法不是很明显的题目,其实一般的递推也可以做。
大体思路:肯定优先购买单价最低的奶农的牛奶,那么就需要先根据牛奶单价进行排序,这里用结构体会更好一点。之后在从前往后一个一个枚举,直至购买的牛奶数量达到要求即可。
话不多说,上代码:
1 #include<bits/stdc++.h>
2 using namespace std;
3 long long n,m,sum;
4 struct farm{
5 int price,weight;
6 }a[100001];//结构体,price表示单价,weight表示可出售的质量
7 bool cmp(farm x,farm y){
8 return x.price<y.price;
9 }//根据牛奶的单价进行排序
10 int main(){
11 cin>>n>>m;
12 for(int i=1;i<=m;i++){
13 cin>>a[i].price>>a[i].weight;
14 }//输入
15 sort(a+1,a+m+1,cmp);//根据上面的要求进行排序
16 for(int i=1;i<=m;i++){
17 if(a[i].weight>n){//可出售质量超出剩余需求
18 sum+=n*a[i].price;//总和+=剩余需求*单价
19 break;//结束循环
20 }
21 n-=a[i].weight;//剩余需求减去牛奶数量
22 sum+=a[i].price*a[i].weight; //总和+=单价*所有的质量
23 }
24 printf("%d",sum);
25 return 0;
26 }
洛谷 P1208混合牛奶 题解的更多相关文章
- 洛谷 P1208混合牛奶【贪心】
题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是 ...
- 洛谷P2832 行路难 分析+题解代码【玄学最短路】
洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...
- 【洛谷P3960】列队题解
[洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...
- 洛谷P2312 解方程题解
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...
- 洛谷P1577 切绳子题解
洛谷P1577 切绳子题解 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位(直接舍掉2为后的小数). 输入输出格 ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
- 洛谷 P1220 关路灯 题解
Description 有 $n$ 盏路灯,每盏路灯有坐标(单位 $m$)和功率(单位 $J$).从第 $c$ 盏路灯开始,可以向左或向右关闭路灯.速度是 $1m/s$.求所有路灯的最少耗电.输入保证 ...
- 洛谷——P1208 [USACO1.3]混合牛奶 Mixing Milk
P1208 [USACO1.3]混合牛奶 Mixing Milk 题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业 ...
- 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
P1208 [USACO1.3]混合牛奶 Mixing Milk 题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业 ...
- [洛谷P2852] [USACO06DEC]牛奶模式Milk Patterns
洛谷题目链接:[USACO06DEC]牛奶模式Milk Patterns 题目描述 Farmer John has noticed that the quality of milk given by ...
随机推荐
- ES6 学习笔记(一)let、const与作用域
一.let命令 1.1用法 1.1.1 let类似于var,但所声明的变量只在let命令所在的代码块有效. 如: { let a = 10 var b = 20 } console.log(b) co ...
- 工作中,本人常用到的unzip、zip命令
1. 命令安装 1.1 zip安装 yum install zip 1.2 unzip安装 yum install unzip 2. 常用命令 2.1 常用zip命令 2.1.1 压缩文件 zip x ...
- go mod常用命令 已经 常见问题
最近接触到go mod,网上查了查资料,这里记录一下. 1 介绍 1.1.go mod是什么 go mod 是Golang 1.11 版本引入的官方包(package)依赖管理工具,用于解决之前没有地 ...
- Guess Next Session
打开又是一个输入框的界面,点一下下面的看源码 很简短的一个源码 大概意思是如果password等于session[password]就输出flag 直接搜了下session函数的漏洞,发现sessio ...
- java - - spring:定时任务
转载:https://www.cnblogs.com/lishupeng/p/7680644.html 开启定时任务: <beans xmlns="http://www.springf ...
- Git同步操作
同步github数据 先要进入仓库文件夹 新建仓库文件夹要初始化或将远程仓库clone下来 git init或git clone https://github.com/用户名称/仓库名称.git 新建 ...
- 记录一次从linux移动一个项目到windows遇到的问题
前言 这几天在linux平台写了一个垃圾软件,浪费了我10多天的时间,感觉很垃圾,然后我想在windows平台打包这个软件,然后出现了一个项目中有相同文件名的问题,导致一些文件相互覆盖 问题描述 我把 ...
- MyEclipse连接MySQL
在官网http://www.mysql.com/downloads/下载数据库连接驱动 本文中使用驱动版本为mysql-connector-java-5.1.40 一.创建一个java测试项目MySQ ...
- Zabbix技术分享——监控windows进程资源使用情况
监控系统进程资源的使用情况是IT运维的常规操作.在实际工作中,运维人员有可能遇到可以使用Zabbix Agent监控linux系统进程,却无法监控windows系统进程的情况.这是因为Zabbix A ...
- log4j漏洞原理
一.前置知识 1.JNDI接口 JNDI即Java Naming and Directory Interface(JAVA命名和目录接口),它提供一个目录系统,并将服务名称与对象关联起来,从而使得开发 ...