社区讨论
请问暴力双重循环应如何优化
题目总版参与者 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 条回复,欢迎继续交流。
正在加载回复...