#P1463. Day10-C1 前缀和专项(GESP五六级风格)

Day10-C1 前缀和专项(GESP五六级风格)

Day10-C1 前缀和专项(GESP五六级风格)

独立训练一维前缀和状态、下标边界、区间查询与程序阅读。后四题共用完整程序。

#include <iostream>
#include <vector>
using namespace std;
int main(){
    int n,q;cin>>n>>q;
    vector<long long> pre(n+1,0);
    for(int i=1;i<=n;++i){int x;cin>>x;pre[i]=pre[i-1]+x;}
    while(q--){int l,r;cin>>l>>r;cout<<pre[r]-pre[l-1]<<' ';}
}

第 1 题

pre[i] 表示前i项和,则 pre[0] 应初始化为( )。

{{ select(1) }}

  • n
  • 1
  • 0
  • a[1]

第 2 题

闭区间 [l,r] 的和为( )。

{{ select(2) }}

  • pre[r]-pre[l]
  • pre[r]+pre[l-1]
  • pre[r]-pre[l-1]
  • pre[r-l]

第 3 题

前缀和预处理一次后,每次区间和查询复杂度为( )。

{{ select(3) }}

  • O(1)O(1)
  • O(n)O(n)
  • O(logn)O(\log n)
  • O(n2)O(n^2)

第 4 题

一维前缀和最适合( )。

{{ select(4) }}

  • 拓扑排序
  • 静态数组上的多次区间和查询
  • 域名解析
  • 不断修改且要求复杂统计

第 5 题

输入 5 2,数组为 2 5 1 4 3,询问 2 41 5,输出为( )。

{{ select(5) }}

  • 10 15
  • 8 15
  • 10 13
  • 12 15

第 6 题

程序使用 long long 保存前缀和,主要是为了( )。

{{ select(6) }}

  • 节省到1位
  • 让查询变成BFS
  • 自动排序
  • 降低总和溢出风险

第 7 题

若把公式改成 pre[r]-pre[l],会漏掉( )。

{{ select(7) }}

  • 第r个元素
  • 第l个元素
  • 最后一次查询
  • 所有负数

第 8 题

程序总复杂度是( )。

{{ select(8) }}

  • O(q2)O(q^2)
  • O(2n)O(2^n)
  • O(nq)O(nq)
  • O(n+q)O(n+q)