USACO Section1.3 混合牛奶
2014-03-23 00:56
281 查看
我对贪心的理解就是通过每一步的最优解找的整体的最优解。往往通过一个循环语句即o(n)的复杂度来解决问题,所以资料上总说贪心算法往往是所有算法中最快的。另外贪心往往用到排序,所以sort的用法要记牢,不管对数组还是结构体。。
具体到这个题就要先依据单价进行排序,这里就要求要把数据保存为结构体形式。然后从价格最低的牛奶开始买,直到满足需求。
在对最后超出的处理时,要以<n为判断依据,否则即满足需求时,只需要加上需要的部分。
具体到这个题就要先依据单价进行排序,这里就要求要把数据保存为结构体形式。然后从价格最低的牛奶开始买,直到满足需求。
在对最后超出的处理时,要以<n为判断依据,否则即满足需求时,只需要加上需要的部分。
#include<iostream> #include<algorithm> using namespace std; struct farmer { int a; int b; }p[5010]; bool cmp(farmer x,farmer y) { if(x.a<y.a) return 1; return 0; } int main() { int n,m; cin>>n>>m; if(n==0||m==0) cout<<0; else{ int i,j; for(i=0;i<m;i++) { cin>>p[i].a>>p[i].b; } sort(p,p+m,cmp); int maxmoney=0,maxmilk=0; for(i=0;i<m;i++) { if(maxmilk+p[i].b<n) { maxmilk+=p[i].b; maxmoney+=(p[i].a*p[i].b); } else { maxmoney+=p[i].a*(-(maxmilk-n)); cout<<maxmoney; return 0; } } } }
相关文章推荐
- luogu1208 [USACO1.3]混合牛奶 Mixing Milk
- 洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk
- P1208 [USACO1.3]混合牛奶 Mixing Milk
- 普及练习场 贪心 [USACO1.3]混合牛奶 Mixing Milk
- 【贪心】Mixing Milk 混合牛奶 milk (Usaco_Training 1.3)
- 寒假片11——[USACO1.3]混合牛奶 Mixing Milk
- P1208 [USACO1.3]混合牛奶 Mixing Milk
- [USACO1.3]混合牛奶 Mixing Milk-洛谷 1208
- [USACO1.3]混合牛奶 Mixing Milk
- P1208 [USACO1.3]混合牛奶 Mixing Milk
- 【贪心】洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
- 洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk
- 题目-[USACO1.3]混合牛奶 Mixing Milk
- USACO 1.3 混合牛奶 (贪心)
- 洛谷 2P1208 [USACO1.3]混合牛奶 Mixing Milk
- |洛谷|贪心|P1208 [USACO1.3]混合牛奶 Mixing Milk
- USACO1.3 混合牛奶Mixing Milk
- P1208 [USACO1.3]混合牛奶 Mixing Milk
- 洛谷——P1208 [USACO1.3]混合牛奶 Mixing Milk
- [USACO1.3]混合牛奶 Mixing Milk