1104 Sum of Number Segments (20分)

Posted d-i-p

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1104 Sum of Number Segments (20分)相关的知识,希望对你有一定的参考价值。

1. 题目

技术图片

2. 思路

寻找规律,找到每个位置中的数出现的总次数,不然会超时

3. 注意点

  1. 一般105量级的数O(n2)算法就会超时
  2. 题目中有点玄学 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)

1104 Sum of Number Segments (20分)

1104 Sum of Number Segments

PAT甲级——A1104 Sum of Number Segments