USACO——混合牛奶
2017-02-12 08:46
281 查看
洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
题目描述
由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助Marry乳业找到最优的牛奶采购方案。
Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是不同的。此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天Marry乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。
给出Marry乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。
注:每天所有奶农的总产量大于Marry乳业的需求量。
分析
显而易见的经典“背包问题”(单价=重量,要求填满背包且重量最少)直接排序单价,从最小开始逐个收购即可
题目描述
由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助Marry乳业找到最优的牛奶采购方案。
Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是不同的。此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天Marry乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。
给出Marry乳业每天对牛奶的需求量,还有每位奶农提供的牛奶单价和产量。计算采购足够数量的牛奶所需的最小花费。
注:每天所有奶农的总产量大于Marry乳业的需求量。
分析
显而易见的经典“背包问题”(单价=重量,要求填满背包且重量最少)直接排序单价,从最小开始逐个收购即可
#include <iostream> #include <cstdio> using namespace std; int sum,n,a[5001][3],i,m; void qs(int l,int h) { int i=l,j=h,mid=a[(l+h)/2][1],t; do { while (a[i][1]<mid) i++; while (a[j][1]>mid) j--; if (i<=j) { t=a[i][1];a[i][1]=a[j][1];a[j][1]=t; t=a[i][2];a[i][2]=a[j][2];a[j][2]=t; i++;j--; } } while (i<=j); if (i<h) qs(i,h); if (j>l) qs(l,j); } int main() { scanf("%d%d",&sum,&n); for (i=1;i<=n;i++) scanf("%d%d",&a[i][1],&a[i][2]); qs(1,n); i=0; m=0; while (sum!=0&i<=n) { i++; if (sum-a[i][2]>=0) { sum=sum-a[i][2]; m=m+a[i][2]*a[i][1]; } else { m=m+sum*a[i][1]; sum=0; } } printf("%d",m); return(0); }
相关文章推荐
- 洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk
- 洛谷 2P1208 [USACO1.3]混合牛奶 Mixing Milk
- [USACO1.3]混合牛奶 Mixing Milk-洛谷 1208
- P1208 [USACO1.3]混合牛奶 Mixing Milk
- 一大堆的福利之【USACO题库】 Mixing Milk混合牛奶
- 【贪心】Mixing Milk 混合牛奶 milk (Usaco_Training 1.3)
- 【USACO题库】1.3.1 Mixing Milk混合牛奶
- |洛谷|贪心|P1208 [USACO1.3]混合牛奶 Mixing Milk
- 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
- 普及练习场 贪心 [USACO1.3]混合牛奶 Mixing Milk
- 【USACO 1.3.1】混合牛奶
- luogu1208 [USACO1.3]混合牛奶 Mixing Milk
- 【贪心】Mixing Milk 混合牛奶 milk (Usaco_Training 1.3)
- luogu1208 [USACO1.3]混合牛奶 Mixing Milk
- USACO1.3 混合牛奶Mixing Milk
- luogu1208 [USACO1.3]混合牛奶 Mixing Milk
- Mixing Milk---混合牛奶-USACO
- 寒假片11——[USACO1.3]混合牛奶 Mixing Milk
- 洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk
- P1208 [USACO1.3]混合牛奶 Mixing Milk