关闭

POJ 1862

标签: poj
414人阅读 评论(1) 收藏 举报
分类:

Stripies
Time Limit: 1000MS Memory Limit: 30000K
Total Submissions: 14292 Accepted: 6707

Description
Our chemical biologists have invented a new very useful form of life called stripies (in fact, they were first called in Russian - polosatiki, but the scientists had to invent an English name to apply for an international patent). The stripies are transparent amorphous amebiform creatures that live in flat colonies in a jelly-like nutrient medium. Most of the time the stripies are moving. When two of them collide a new stripie appears instead of them. Long observations made by our scientists enabled them to establish that the weight of the new stripie isn’t equal to the sum of weights of two disappeared stripies that collided; nevertheless, they soon learned that when two stripies of weights m1 and m2 collide the weight of resulting stripie equals to 2*sqrt(m1*m2). Our chemical biologists are very anxious to know to what limits can decrease the total weight of a given colony of stripies.
You are to write a program that will help them to answer this question. You may assume that 3 or more stipies never collide together.

Input
The first line of the input contains one integer N (1 <= N <= 100) - the number of stripies in a colony. Each of next N lines contains one integer ranging from 1 to 10000 - the weight of the corresponding stripie.

Output
The output must contain one line with the minimal possible total weight of colony with the accuracy of three decimal digits after the point.

Sample Input

3
72
30
50

Sample Output

120.000

题意: 给出n 个物体,分别给出每个的质量,并且两个物体(假设质量分别为m1,m2)相撞的时候变成一个物体,质量为2*sqrt(m1*m2),并且只会出现两个两个物品碰撞的情况,问最终能得到的物体的最小质量是多少。
思路:其实就是讲一个长度为n的数组降 排降序 然后对每次的数组进行 num=2.0*sqrt(num*a[i]);的操作

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <map>
#include <cmath>
using namespace std;
int n;
int a[105];
int b[105];
double result,num;
int cmp(int a,int b)
{
    return a>b;
}
void init()
{
    for(int i=0;i<n;i++)
        b[i]=0;
}
int main()
{
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++)
            scanf("%d",&a[i]);
            init();
        sort(a,a+n,cmp);
        int i=0;
        num=a[0];
        for(int i=1;i<n;i++)
        {
            num=2.0*sqrt(num*a[i]);
        }
        printf("%0.3lf\n",num);
    }
    return 0;
}
0
0
查看评论

POJ 1862 Stripies 贪心+优先队列

有一种生物能两两合并,合并之前的重量分别为m1和m2,合并之后变为2*sqrt(m1*m2),现在给定n个这样的生物,求合并成一个的最小重量
  • murmured
  • murmured
  • 2014-05-10 14:05
  • 809

poj 1862 Stripies

优先队列的应用,主要是理解为什么每次要取最大的两个数,因为题目要求的是最后剩下来的那个变形虫的最小质量,所以我们要使质量大的变形虫尽量多的开平方。 #include #include #include #include int n,x; using namespace std...
  • South__wind
  • South__wind
  • 2012-08-30 16:05
  • 909

POJ 1862 Stripies (贪心)

题目大意:科学家发现一种奇怪的玩意,他们有重量weight,如果他们碰在一起,总重变成2*sqrt(m1*m2)。要求出最终的重量的最小值。 思路比较容易想到,试一下就可以发现:对重量较大的先碰,可以对其多次sqrt,使得最后的结果最小。 所以就是贪心了。数据比较小,sort排序即可。 /...
  • winkloud
  • winkloud
  • 2012-08-19 10:08
  • 1475

POJ1862 Stripies 【贪心】

Stripies Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12522   Accepted: 5929 ...
  • u012846486
  • u012846486
  • 2014-11-12 21:22
  • 890

poj 1862

此题理解了就很简单。对于一个重量为m1,m2的stripies,它们相遇后产生一个新的重量为2*sqrt(m1*m2)的stripies,那么我们的贪心策略就是每次挑选两个质量最大的stripies来“相遇”,因为我们可以看出来,越早挑选的stripies,它在之后所经历的开方层数越多(因为它不断遇...
  • leohujx
  • leohujx
  • 2015-09-08 22:45
  • 168

navicat连接本地数据库报1862错误

问题描述:用navicat连接本地数据库报错,连接远程服务器正常。 网上找了很多方法,现在一一尝试 方法一: 1. 关闭正在运行的MySQL服务。 2. 打开DOS窗口,转到mysql\bin目录。 3. 输入mysqld –skip-grant-tables 回车。–skip-g...
  • m0_37172806
  • m0_37172806
  • 2017-08-18 17:34
  • 440

POJ 1862

H - Stripies Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64...
  • u013268685
  • u013268685
  • 2014-04-20 20:00
  • 625

mysql数据库在Navicat Premium连接的时候出现1862错误

很就没有连接mysql看看了,今天连接的时候发现本机的mysql链接不上了,在cmd中执行动作的时候也会叫你去set password,做设置密码的动作时会报执行语法错误,解决办法如下 在命令提示符中到mysql的bin目录,运行这行:mysqladmin –u用户名–p旧密码 password ...
  • u010513756
  • u010513756
  • 2016-02-25 08:56
  • 13114

MySQL错误号码1862:your password has expired

因为是好久没有用mysql,然后隔了三个多月再次登录就出现了以上问题,嗯嗯,从来不太会用命令行的我,在QQ群里求助,最终迷迷糊糊的解决了。。。。反正记录一下希望对大家有帮助吧,我到现在也迷迷糊糊的。 我是win8的系统。 1):win+R,运行里输入services.msc打开服务,...
  • nayanminxing
  • nayanminxing
  • 2015-04-24 09:20
  • 14429

POJ 1862 Stripies 笔记

<span title="Description ">描述 我们的化学生物学家发明了一种新的非常有用的生命形式,称为条纹(实际上,他们首先被称为俄罗斯 - polosatiki,但科学家必须发明一个英文名称申请国际专利)。条纹是在果冻状营养培养基中平坦的菌落中存...
  • woniupengpeng
  • woniupengpeng
  • 2016-12-09 18:38
  • 242
    个人资料
    • 访问:112167次
    • 积分:1387
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:3篇
    • 译文:0篇
    • 评论:32条
    博客专栏
    最新评论