1049. 数列的片段和

来源:互联网 发布:电子相册软件排行 编辑:程序博客网 时间:2024/05/18 02:49

原题链接:
思路: 规律是(n-i)(i+1)。下面是我的理解,把数从左往右从0开始编号,最右边就是n-1。假设当前数在第i位,以他为首的片段则有n-i(n-1-i+1,从最后一位到当前,再加上当前位置)个,而包含这个片段的所有片段则有i+1个(从0到i的每个片段都包含,一共有(n-i)次),所以出现(i+1)(n-i)次

#include<bits/stdc++.h>using namespace std;void solve(){    double ans=0;    double x;    int n;    cin>>n;    for(int i=0;i<n;i++){        scanf("%lf",&x);        //(n-i)*(i+1)可能整型溢出        ans+=(n-i)*x*(i+1);    }    printf("%.2f\n",ans);}int main(){    //freopen("in.txt","r",stdin);    solve();    return 0;}
原创粉丝点击