1049. 数列的片段和
2017-08-14 20:19
120 查看
原题链接:
思路: 规律是(n-i)(i+1)。下面是我的理解,把数从左往右从0开始编号,最右边就是n-1。假设当前数在第i位,以他为首的片段则有n-i(n-1-i+1,从最后一位到当前,再加上当前位置)个,而包含这个片段的所有片段则有i+1个(从0到i的每个片段都包含,一共有(n-i)次),所以出现(i+1)(n-i)次
思路: 规律是(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; }
相关文章推荐
- 1049. 数列的片段和(20)——Python
- 1049. 数列的片段和(20)
- 1049. 数列的片段和(20)
- (python3)1049.数列的片段和(20分)
- PAT乙级—1049. 数列的片段和(20)-native
- PAT(basic level) 1049数列的片段和(20)
- 1049. 数列的片段和(20)
- 1049. 数列的片段和(20)(C++)
- PAT乙级1049. 数列的片段和(20)
- 1049. 数列的片段和
- PAT-B1049. 数列的片段和
- PAT-B 1049. 数列的片段和(20)
- PAT乙级1049. 数列的片段和(20)
- 1049. 数列的片段和(20)-PAT乙级
- PAT1049 数列的片段和
- PAT 1049数列的片段和
- 1049. 数列的片段和(20)
- [PAT]1049. 数列的片段和(20)
- 1049. 数列的片段和(20)
- 1049. 数列的片段和