#5424. 一维前缀和笔记2
一维前缀和笔记2
当前没有测试数据。
一维前缀和笔记2
一、复习
一维前缀和数组的作用:快速求出第x个数字到第y个数字的和
数学上,第x个到第y个,可以用区间[x,y]表示
前面的题目都是直接给出区间[x,y],所以构建好前缀和数组后,直接b[y]-b[x-1]就可以求和。
but 如果题目给的是一个区间的其他信息,例如区间长度k
https://www.yuanmabc.cn/p/5423

二、一维前缀和变形题
有很多个区间长度为k,列出所有长度为k的区间起点x和终点y

x和y两个变量的变化是同时的,所以用一层循环就可以。
尝试自己做下这道题
https://www.yuanmabc.cn/p/P5307

如果代码思路不完整,可以先看参考代码,完整地理解一遍再尝试独立写代码
看一行写一行不代表你真正理解哦!
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k;
cin>>n>>k;
for(int x=1,y=k;y<=n;x++,y++){
cout<<x<<" "<<y<<endl;
}
return 0;
}
有了x和y,不就可以用一维前缀和数组b[y]-b[x-1]求和了吗

尝试参照以上代码来解决下面这道题吧
https://www.yuanmabc.cn/p/5423

三、练习题
https://www.yuanmabc.cn/p/P3310
https://www.yuanmabc.cn/p/P2054