zoukankan      html  css  js  c++  java
  • POJ 1862 Stripies 【优先队列】

    题意:科学家发现一种奇怪的东西,他们有重量weight,如果他们碰在一起,总重变成2*sqrt(m1*m2)。要求出最终的重量的最小值。

    思路:每次选取质量m最大的两个stripy进行碰撞结合,能够得到最小的质量。所有只要维护一个优先队列就可以了

    #include <iostream>
    #include <cstdio>
    #include <queue>
    #include <math.h>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    
    priority_queue<double> que;
    
    int main()
    {
        int n;
        scanf("%d", &n);
        
        for (int i = 0; i < n; i++) {
            double m;
            scanf("%lf", &m);
            que.push(m);
        }
        
        while (que.size() > 1) {
            double m1 = que.top();
            que.pop();
            double m2 = que.top();
            que.pop();
            que.push(2 * sqrt(m1 * m2));
        }
        
        printf("%.3f
    ", que.top());
        
        return 0;
    }
    
  • 相关阅读:
    android 图表
    android assets 文件路径,与文件是否存在
    WebKit 与Chromium
    android footerView 的使用
    android gif
    webkit 介绍
    java 内存优化2
    jive论坛
    ajax josn
    jsp 数据饼图
  • 原文地址:https://www.cnblogs.com/demian/p/7296616.html
Copyright © 2011-2022 走看看