[贪心]PKU Stripies
2014-10-07 21:20
465 查看
Time Limit : 2000/1000ms(Java/Other) Memory Limit : 60000/30000K (Java/Other)
Total Submission(s) :22 Accepted Submission(s) : 3
Problem Description
Our chemical biologists have invented a newvery useful form of life called stripies (in fact, they were first called inRussian - polosatiki, but the scientists had to invent an English name to applyfor an international patent). The stripies are transparent
amorphous amebiformcreatures that live in flat colonies in a jelly-like nutrient medium. Most ofthe time the stripies are moving. When two of them collide a new stripieappears instead of them. Long observations made by our scientists enabled themto establish
that the weight of the new stripie isn't equal to the sum ofweights of two disappeared stripies that collided; nevertheless, they soonlearned that when two stripies of weights m1 and m2 collide the weight ofresulting stripie equals to 2*sqrt(m1*m2). Our chemical
biologists are veryanxious to know to what limits can decrease the total weight of a given colonyof stripies.
You are to write a program that will help them to answer this question. You mayassume that 3 or more stipies never collide together.
Input
The first line of the input contains oneinteger N (1 <= N <= 100) - the number of stripies in a colony. Each ofnext N lines contains one integer ranging from 1 to 10000 - the weight of thecorresponding stripie.
Output
The output must contain one line with theminimal possible total weight of colony with the accuracy of three decimaldigits after the point.
Sample Input
3
72
30
50
Time Limit : 2000/1000ms(Java/Other) Memory Limit : 60000/30000K (Java/Other)
Total Submission(s) :22 Accepted Submission(s) : 3
Problem Description
Our chemical biologists have invented a newvery useful form of life called stripies (in fact, they were first called inRussian - polosatiki, but the scientists had to invent an English name to applyfor an international patent). The stripies are transparent
amorphous amebiformcreatures that live in flat colonies in a jelly-like nutrient medium. Most ofthe time the stripies are moving. When two of them collide a new stripieappears instead of them. Long observations made by our scientists enabled themto establish
that the weight of the new stripie isn't equal to the sum ofweights of two disappeared stripies that collided; nevertheless, they soonlearned that when two stripies of weights m1 and m2 collide the weight ofresulting stripie equals to 2*sqrt(m1*m2). Our chemical
biologists are veryanxious to know to what limits can decrease the total weight of a given colonyof stripies.
You are to write a program that will help them to answer this question. You mayassume that 3 or more stipies never collide together.
Input
The first line of the input contains oneinteger N (1 <= N <= 100) - the number of stripies in a colony. Each ofnext N lines contains one integer ranging from 1 to 10000 - the weight of thecorresponding stripie.
Output
The output must contain one line with theminimal possible total weight of colony with the accuracy of three decimaldigits after the point.
Sample Input
3
72
30
50
Time Limit : 2000/1000ms(Java/Other) Memory Limit : 60000/30000K (Java/Other)
Total Submission(s) :22 Accepted Submission(s) : 3
Problem Description
Our chemical biologists have invented a newvery useful form of life called stripies (in fact, they were first called inRussian - polosatiki, but the scientists had to invent an English name to applyfor an international patent). The stripies are transparent
amorphous amebiformcreatures that live in flat colonies in a jelly-like nutrient medium. Most ofthe time the stripies are moving. When two of them collide a new stripieappears instead of them. Long observations made by our scientists enabled themto establish
that the weight of the new stripie isn't equal to the sum ofweights of two disappeared stripies that collided; nevertheless, they soonlearned that when two stripies of weights m1 and m2 collide the weight ofresulting stripie equals to 2*sqrt(m1*m2). Our chemical
biologists are veryanxious to know to what limits can decrease the total weight of a given colonyof stripies.
You are to write a program that will help them to answer this question. You mayassume that 3 or more stipies never collide together.
Input
The first line of the input contains oneinteger N (1 <= N <= 100) - the number of stripies in a colony. Each ofnext N lines contains one integer ranging from 1 to 10000 - the weight of thecorresponding stripie.
Output
The output must contain one line with theminimal possible total weight of colony with the accuracy of three decimaldigits after the point.
Sample Input
3
72
30
50
Sample Output
120.000
[题意]背景:两个质量分别为m1和m2的细胞相撞后会合并为1个质量为2*sqrt(m1*m2)的细胞.给出N个细胞的质量,求N个细胞两两合并后最终的细胞质量最少能为多少.
[思路]由于2*sqrt(m1*m2)<m1+m2(m1>1,m2>1),显然先对质量大的进行合并对于减小总质量的作用最大.因此对质量从大到小排序,对前两个合并后再排序,直到都合并完即可.所以这个题就是运用的贪心思想.
[代码]
Total Submission(s) :22 Accepted Submission(s) : 3
Problem Description
Our chemical biologists have invented a newvery useful form of life called stripies (in fact, they were first called inRussian - polosatiki, but the scientists had to invent an English name to applyfor an international patent). The stripies are transparent
amorphous amebiformcreatures that live in flat colonies in a jelly-like nutrient medium. Most ofthe time the stripies are moving. When two of them collide a new stripieappears instead of them. Long observations made by our scientists enabled themto establish
that the weight of the new stripie isn't equal to the sum ofweights of two disappeared stripies that collided; nevertheless, they soonlearned that when two stripies of weights m1 and m2 collide the weight ofresulting stripie equals to 2*sqrt(m1*m2). Our chemical
biologists are veryanxious to know to what limits can decrease the total weight of a given colonyof stripies.
You are to write a program that will help them to answer this question. You mayassume that 3 or more stipies never collide together.
Input
The first line of the input contains oneinteger N (1 <= N <= 100) - the number of stripies in a colony. Each ofnext N lines contains one integer ranging from 1 to 10000 - the weight of thecorresponding stripie.
Output
The output must contain one line with theminimal possible total weight of colony with the accuracy of three decimaldigits after the point.
Sample Input
3
72
30
50
Time Limit : 2000/1000ms(Java/Other) Memory Limit : 60000/30000K (Java/Other)
Total Submission(s) :22 Accepted Submission(s) : 3
Problem Description
Our chemical biologists have invented a newvery useful form of life called stripies (in fact, they were first called inRussian - polosatiki, but the scientists had to invent an English name to applyfor an international patent). The stripies are transparent
amorphous amebiformcreatures that live in flat colonies in a jelly-like nutrient medium. Most ofthe time the stripies are moving. When two of them collide a new stripieappears instead of them. Long observations made by our scientists enabled themto establish
that the weight of the new stripie isn't equal to the sum ofweights of two disappeared stripies that collided; nevertheless, they soonlearned that when two stripies of weights m1 and m2 collide the weight ofresulting stripie equals to 2*sqrt(m1*m2). Our chemical
biologists are veryanxious to know to what limits can decrease the total weight of a given colonyof stripies.
You are to write a program that will help them to answer this question. You mayassume that 3 or more stipies never collide together.
Input
The first line of the input contains oneinteger N (1 <= N <= 100) - the number of stripies in a colony. Each ofnext N lines contains one integer ranging from 1 to 10000 - the weight of thecorresponding stripie.
Output
The output must contain one line with theminimal possible total weight of colony with the accuracy of three decimaldigits after the point.
Sample Input
3
72
30
50
Time Limit : 2000/1000ms(Java/Other) Memory Limit : 60000/30000K (Java/Other)
Total Submission(s) :22 Accepted Submission(s) : 3
Problem Description
Our chemical biologists have invented a newvery useful form of life called stripies (in fact, they were first called inRussian - polosatiki, but the scientists had to invent an English name to applyfor an international patent). The stripies are transparent
amorphous amebiformcreatures that live in flat colonies in a jelly-like nutrient medium. Most ofthe time the stripies are moving. When two of them collide a new stripieappears instead of them. Long observations made by our scientists enabled themto establish
that the weight of the new stripie isn't equal to the sum ofweights of two disappeared stripies that collided; nevertheless, they soonlearned that when two stripies of weights m1 and m2 collide the weight ofresulting stripie equals to 2*sqrt(m1*m2). Our chemical
biologists are veryanxious to know to what limits can decrease the total weight of a given colonyof stripies.
You are to write a program that will help them to answer this question. You mayassume that 3 or more stipies never collide together.
Input
The first line of the input contains oneinteger N (1 <= N <= 100) - the number of stripies in a colony. Each ofnext N lines contains one integer ranging from 1 to 10000 - the weight of thecorresponding stripie.
Output
The output must contain one line with theminimal possible total weight of colony with the accuracy of three decimaldigits after the point.
Sample Input
3
72
30
50
Sample Output
120.000
[题意]背景:两个质量分别为m1和m2的细胞相撞后会合并为1个质量为2*sqrt(m1*m2)的细胞.给出N个细胞的质量,求N个细胞两两合并后最终的细胞质量最少能为多少.
[思路]由于2*sqrt(m1*m2)<m1+m2(m1>1,m2>1),显然先对质量大的进行合并对于减小总质量的作用最大.因此对质量从大到小排序,对前两个合并后再排序,直到都合并完即可.所以这个题就是运用的贪心思想.
[代码]
#include <set> #include <map> #include <stack> #include <queue> #include <cmath> #include <vector> #include <cstdio> #include <string> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> using namespace std; bool cmp(double a,double b) { return a>b; } int main() { //freopen("in.txt", "r", stdin); double a[110]; int n; cin>>n; for(int i=0;i<n;i++) { scanf("%lf",&a[i]); } for(int i=0;i<n-1;i++) { sort(a,a+n,cmp); a[0]=2*sqrt(a[0]*a[1]); a[1]=-1; }printf("%.3f\n",a[0]); return 0; }
相关文章推荐
- pku 1323(贪心)
- POJ-1862--贪心---Stripies
- POJ1862 Stripies (贪心)
- POJ 1862 Stripies#贪心(水)
- Pku oj 3617 Best Cow Line(贪心)
- poj+数模组要做的水题+Stripies 贪心
- 【简单贪心+优先队列】POJ - 1862 - Stripies
- 终于AC了,PKU1065。我不是用贪心和动态解的。
- PKU 1065 贪心求值
- POJ 1832 Stripies(贪心)
- POJ 1862 Stripies 【贪心】
- POJ1862 Stripies 贪心
- poj 1862 Stripies 优先队列 贪心
- Stripies(POJ 1862 贪心)
- PKU 1659 Frogs' Neighborhood - 贪心 Havel定理
- 【贪心】Stripies POJ 1862
- [贪心]poj1862 Stripies
- POJ1862 Stripies 【贪心】
- pku 3253 Fence Repair(哈夫曼树,贪心)
- 贪心(优先队列优化)——pku3190