码迷,mamicode.com
首页 > 其他好文 > 详细

1104 Sum of Number Segments (20分)

时间:2020-03-10 20:00:40      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:ace   超时   double   algorithm   printf   segment   cti   pre   lan   

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\n", 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分)

标签:ace   超时   double   algorithm   printf   segment   cti   pre   lan   

原文地址:https://www.cnblogs.com/d-i-p/p/12458056.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!