加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

9 POJ 1862 Stripies 简单贪心

发布时间:2020-12-13 20:44:52 所属栏目:PHP教程 来源:网络整理
导读:视察发现m1m2变成2*sqrt( m 1 * m 2 )质量是能够减少的, 因此按质量从大到小排序,每次取最大质量的两个合并,减少的质量是最多的。 合并n⑴次,终究得到的1个数就是结果。 这里用优先队列写的比较方便。 #includecstdio#includequeue#includecmathusing na

视察发现m1+m2变成2*sqrt(m1*m2)质量是能够减少的,

因此按质量从大到小排序,每次取最大质量的两个合并,减少的质量是最多的。

合并n⑴次,终究得到的1个数就是结果。

这里用优先队列写的比较方便。


#include<cstdio> #include<queue> #include<cmath> using namespace std; priority_queue<double> q; int main() { int n,i; double x,a,b; while(~scanf("%d",&n)) { while(!q.empty()) q.pop(); for(i=0;i<n;i++) { scanf("%lf",&x); q.push(x); } for(i=0;i<n⑴;i++) { a=q.top();q.pop(); b=q.top();q.pop(); q.push(2*sqrt(a*b)); } printf("%.3lf ",q.top()); } return 0; }


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读