POJ:1862 Stripies
2013-08-06 15:05
120 查看
这个题跟UVA:10954 Add All 有点像。
需要每次计算质量最大的那两个,虽然我也不能说清楚为什么这么做,凭直觉吧。
数据量比较小,每次求最大的那两个用快排都可以。不过我还是使用了插入排序。
代码中有一些细节值得注意:最大的是倒数后两个,计算完之后就不再考虑了;取出最大的两个以后还要插入一个新的,所以总长度只减少了1。
需要每次计算质量最大的那两个,虽然我也不能说清楚为什么这么做,凭直觉吧。
数据量比较小,每次求最大的那两个用快排都可以。不过我还是使用了插入排序。
#include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #include<algorithm> using namespace std; int main() { //freopen("in.txt","r",stdin); int n; scanf("%d",&n); double a[105]={0}; for(int i=0;i<n;++i) scanf("%lf",&a[i]); sort(a,a+n); double res=a[0]; while(n>=2) { res=2*sqrt(a[n-1]*a[n-2]); for(int i=n-3;i>=0;--i) if(res<a[i]) a[i+1]=a[i]; else { a[i+1]=res;break; } n--; } printf("%.3lf\n", res); return 0; }
代码中有一些细节值得注意:最大的是倒数后两个,计算完之后就不再考虑了;取出最大的两个以后还要插入一个新的,所以总长度只减少了1。
相关文章推荐
- poj1862~Stripies~贪心+优先队列
- Poj 1862 Stripies【贪心+数学】
- Stripies - POJ 1862 水题
- 【POJ】1862 - Stripies
- POJ 1862 (Stripies) 数学题
- POJ 1862 Stripies
- POJ 1862 Stripies 贪心+优先队列
- POJ 1862 Stripies
- POJ 1862 Stripies(哈夫曼)
- POJ 1862 Stripies 题解
- poj 1862 Stripies 【优先队列】
- poj - 1862-Stripies
- POJ 1862 Stripies 贪心+优先队列
- POJ 1862 Stripies
- poj 1862 Stripies
- POJ 1862 Stripies(解题报告)
- POJ 1862 Stripies 【优先队列】
- Stripies(POJ 1862, 贪心)
- poj 1862 Stripies 数学
- POJ 1862-Stripies