1104 Sum of Number Segments (20分)
Posted d-i-p
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1104 Sum of Number Segments (20分)相关的知识,希望对你有一定的参考价值。
1. 题目
2. 思路
寻找规律,找到每个位置中的数出现的总次数,不然会超时
3. 注意点
- 一般105量级的数O(n2)算法就会超时
- 题目中有点玄学
sum += t*(i+1)*(n-i);
sum += (i+1)*(n-i)*t;
把double放在后面最后两个测试点就过不去
4. 代码
#include<cstdio>
#include<algorithm>
#include<string>
#include<vector>
#include<iostream>
// 18:42 - 19:31
using namespace std;
int n;
int main(){
scanf("%d", &n);
double sum = 0;
for(int i=0;i<n;i++){
double t;
scanf("%lf", &t);
printf("%d - %f %f
", i, (i+1)*(n-i)*t, t*(i+1)*(n-i));
sum += t*(i+1)*(n-i);
}
printf("%.2f", sum);
}
以上是关于1104 Sum of Number Segments (20分)的主要内容,如果未能解决你的问题,请参考以下文章
1104 Sum of Number Segments(二刷)
1104 Sum of Number Segments (20)
1104 Sum of Number Segments (20分)(long double)