ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Acwing基础课每日一题 第十一天 795-简单-前缀和

2022-01-10 23:00:35  阅读:171  来源: 互联网

标签:第十一天 795 int 询问 整数 算法 基础课 输入 Acwing


目录

前言

作者简介

题目描述

思路解析

结语


原题链接:795-简单-前缀和

前言

算法是考研和实习找工作进大厂的必备工具,为了23考研以及日后进大厂,开始学习算法!

作者简介

大家好,我是977,一个正在慢慢进步的程序猿小白,很高兴能在这里遇见大家,每天一点点成长,一起早日成为大佬!!!

算法基础课共106题

这是我的第11/106题

题目描述

输入一个长度为 n 的整数序列。

接下来再输入 m 个询问,每个询问输入一对 l,r。

对于每个询问,输出原序列中从第 l个数到第 r个数的和。

输入格式

第一行包含两个整数 n 和 m。

第二行包含 n 个整数,表示整数数列。

接下来 m 行,每行包含两个整数 l 和 r,表示一个询问的区间范围。

输出格式

共 m 行,每行输出一个询问的结果。

数据范围

1≤l≤r≤n,
1≤n,m≤100000,
−1000≤数列中元素的值≤1000

输入样例

5 3
2 1 3 6 4
1 2
1 3
2 4

输入样例

3
6
10

思路解析:

算法:

时间复杂度:O(nlog(n))

解题思路:

#include <iostream>

using namespace std;

const int N = 100010;

int n, m;
int a[N], s[N];

int main()
{
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= n; i ++ ) scanf("%d", &a[i]);

    for (int i = 1; i <= n; i ++ ) s[i] = s[i - 1] + a[i]; // 前缀和的初始化

    while (m -- )
    {
        int l, r;
        scanf("%d%d", &l, &r);
        printf("%d\n", s[r] - s[l - 1]); // 区间和的计算
    }

    return 0;
}

结语

学习贵在坚持,Acwing算法基础课,每日一题

期待各位的关注和监督

标签:第十一天,795,int,询问,整数,算法,基础课,输入,Acwing
来源: https://blog.csdn.net/ypp977/article/details/122421220

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有