HDU-2570迷瘴(贪心)
Posted liyexin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU-2570迷瘴(贪心)相关的知识,希望对你有一定的参考价值。
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2570
解析:
想让最后的体积最大,肯定是先加入浓度小的。
所以贪心思路是,浓度从小到大加入。
注意:
n种同体积的浓度分别为a,b,c...那么混合以后浓度为:(a+b+c+..)/n
所以从小到大加入即可。
#include<cstdio> #include<stack> #include<map> #include<cstring> #include<iostream> #include<algorithm> using namespace std; typedef long long ll; const int maxn=1e5+20; int a[121]; struct node { ll l,r; }st[maxn]; bool cmp(node a , node b) { if(a.l==b.l) return a.r<b.r; return a.l<b.l; } int main() { // 4 0 20 int t; cin>>t; while(t--) { int n,v,w; cin>>n>>v>>w; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+1+n); double c=0; int vv=0; int ok = 0 ; for(int i=1;i<=n;i++) { if((c+a[i])/i<=w) { c+=a[i]; vv++; ok=1; } else break; } if(!ok) cout<<"0 0.00"<<endl; else printf("%d %.2lf ",vv*v,c/vv/100); } }
以上是关于HDU-2570迷瘴(贪心)的主要内容,如果未能解决你的问题,请参考以下文章
Contig|scaffold|N50|L50|NG50|贪心算法|de bruiji graph|