社区讨论

请问暴力双重循环应如何优化

题目总版参与者 5已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
10 条
当前快照
1 份
快照标识符
@lo7nq6py
此快照首次捕获于
2023/10/27 04:48
2 年前
此快照最后确认于
2023/10/27 04:48
2 年前
查看原帖
是这样一道题
给你一个长度为 n 的数列 A1, A2, A3, ……, An,求出数列的所有长度为 k(≤n)的连续子序列和。
数据范围是 1 ≤ k ≤ n ≤ 100000,1 ≤ Ai ≤ 10^9
我直接暴力O(n^2)了,结果理所应当地TLE了
C
#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了,没找到有用的优化方法。。。

回复

10 条回复,欢迎继续交流。

正在加载回复...