请问暴力双重循环应如何优化
  • 板块题目总版
  • 楼主Zaku
  • 当前回复10
  • 已保存回复10
  • 发布时间2022/10/30 19:30
  • 上次更新2023/10/27 04:48:58
查看原帖
请问暴力双重循环应如何优化
691532
Zaku楼主2022/10/30 19:30

是这样一道题

给你一个长度为 n 的数列 A1, A2, A3, ……, An,求出数列的所有长度为 k(≤n)的连续子序列和。

数据范围是 1 ≤ k ≤ n ≤ 100000,1 ≤ Ai ≤ 10^9

我直接暴力O(n^2)了,结果理所应当地TLE了

#include"stdio.h"
#pragma GCC optimize ("O2")
int a[100005];
int main(){
    int n,k,i,j;
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)scanf("%d",a+i);
    for(i=1;i<=n-k+1;i++){
        int sum=0;
        for(j=i;j<=i+k-1;j++)sum+=a[j];
        printf("%d ",sum);
    }
    return 0;
}

已经BD了,没找到有用的优化方法。。。

2022/10/30 19:30
加载中...