在做题中学习(55):一维前缀和模板

【模板】前缀和_牛客题霸_牛客网 (nowcoder.com)

题目解释:

注意:下标从1开始的。

l 和 r就是对这n个整数去取一个区间,例如示例一:

(1,2) 区间 就是算出1 2 4 中 1,2下标对应值的和,1+2 = 3

同理,(2,3)   ->    2 + 4 = 6

解法:前缀和


用来快速求出一段连续区间的和。

做法:

1.来一个dp数组(每个元素都是从[1,i] 位置元素的和):

求法:       dp[i] = dp[i-1] + nums[i]

2.使用前缀和dp

既然要求(l,r) 区间的和,而dp数组已经有dp[r] 和dp[l-1]这一段的值了,所以dp[r] - dp[l-1]就可以算出(l,r)区间的值。 

细节

为什么数组下标要从 1 开始

因为如果说题目的 l 是可以 = 0的,那么求[0,2]   就是dp[2] - dp[-1]了,而下标怎么能为负数呢,所以此时需要单独处理判断,而下标从1开始的话,l最小 = 1 [1,2],就是  dp[2] - dp[0] 了,此时只需要让dp[0] = 0就可以了。

#include <iostream>
#include <vector>
using namespace std;

int main() 
{
    //1.把值输入到原始数组
    int n = 0,q = 0;
    cin >> n >> q;
    vector<int> arr(n+1);
    for(int i = 1;i<=n;i++)
        cin >> arr[i];
    //2.构建dp数组
    vector<long long int> dp(n+1);
    for(int i = 1;i<=n;i++)
        dp[i] = dp[i-1] + arr[i];
    //3.使用dp数组
    int l = 0,r = 0;
    while(q--)
    {
        cin >> l >> r;
        cout << dp[r] - dp[l-1] <<endl;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/609804.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vscode正则匹配技巧

写正则表达式 下面是匹配加粗的单词或空格 \*\*[a-zA-Z\s]*\*\*vscode提取加粗的内容 altenter&#xff0c;再ctrlC复制选中的内容出来

前端 | iframe框架标签应用(三)| 点击指定部分,进行外部页面搜索,内置iframe返回搜索结果

文章目录 &#x1f4da;实现效果&#x1f4da;模块实现解析 &#x1f4da;实现效果 点击单词列表内的任意单词↓ 弹出对应单词的搜狗翻译搜索结果&#xff0c;点击关闭按钮关闭界面。 &#x1f4da;模块实现解析 在列表框搜索功能的基础上加一个click触发效果就好了&#xf…

网络安全在数字时代的重要性:以近期网络安全事件为镜

在当今这个信息化爆炸的时代&#xff0c;互联网如同一张无形的网&#xff0c;将我们的生活、工作、学习紧密相连。然而&#xff0c;这张网在带来便捷的同时&#xff0c;也暗藏着无数的安全隐患。近年来&#xff0c;网络安全事件频发&#xff0c;从个人隐私泄露到企业数据被盗&a…

网站未部署证书有何影响,如何解决?

如果您的网站没有ssl证书会有以下风险 1 浏览器标记为不安全 未安装证书的网站在访问时会有不安全的提示弹窗或者在网址栏直接显示不安全 2 影响企业信誉 当用户访问网站时看到不安全提示&#xff0c;会对网站的真实性和安全性产生怀疑&#xff0c;不敢轻易与该企业合作&…

【NodeMCU实时天气时钟温湿度项目 2】WIFI模式设置及连接

第一专题内容&#xff0c;请参考 【NodeMCU实时天气时钟温湿度项目 1】连接点亮SPI-TFT屏幕和UI布局设计-CSDN博客 第三专题内容&#xff0c;请参考 【NodeMCU实时天气时钟温湿度项目 3】连接SHT30传感器&#xff0c;获取并显示当前环境温湿度数据&#…

初探 JUC 并发编程:独占锁 ReentrantLock 底层源码解析

本篇是关于 JUC 并发包中独占锁 ReentrantLock 底层源码的解析&#xff0c;在阅读之前需要对 AQS 抽象队列有基本的了解。 文章目录 1.1 类图结构1.2 获取锁1&#xff09;void lock() 方法2&#xff09;void lockInterruptibly() 方法3&#xff09;boolean tryLock() 方法4&am…

(✌)粤嵌—2024/5/10—删除链表的倒数第 N 个结点

代码实现&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* removeNthFromEnd(struct ListNode *head, int n) {if (head NULL || n 0) {return head;}int i n;struct ListNode …

MySQL·复合查询

目录 基本查询回顾 案例1&#xff1a;查询工资高于500或岗位为MANAGER的雇员&#xff0c;同时还要满足他们的姓名首字母为大写的J 案例2&#xff1a;按照部门号升序而雇员的工资降序排序 案例3&#xff1a;使用年薪进行降序排序 案例4&#xff1a;显示工资最高的员工的名字…

TPI 系列——1W,3KVDC隔离 定电压输入,稳压双路输出DC-DC模块电源

TPI系列产品是专门针对PCB上需要与输入电源隔离的电源应用场合而设计的。该产品适用于&#xff1a;1&#xff09;输入电源的电压变化≤5%&#xff1b;2&#xff09;输入输出之间要求隔离电压≥3000VDC&#xff1b;3&#xff09;对输出电压稳定和输出纹波噪声要求高.

多商户Docker Supervisor进程管理器部署

Dockerfile 根目录下没有Dockerfile的可以复制下面的命令 # 使用基础镜像 FROM leekay0218/crmeb-mer## 复制代码 ## 在本地调试注释掉&#xff0c;使用映射把文件映射进去 #ADD ./ /var/www# 设置工作目录 WORKDIR /var/www# 设置时区为上海 ENV TZAsia/Shanghai RUN ln -sn…

Porto主题下载: 打造您网站的独特魅力

在数字时代&#xff0c;一个吸引人的网站是您品牌故事的开端。Porto&#xff0c;一款专为追求卓越设计和功能性的WordPress主题&#xff0c;让您的网站从众多竞争者中脱颖而出。 响应式设计 Porto主题采用最先进的响应式设计技术&#xff0c;确保您的网站在任何设备上都能提供…

Hive两代命令行客户端(Hive、Beeline)

Hive命令行客户端 Hive有两个主要的客户端工具&#xff0c;分别是旧版的Hive CLI&#xff08;Command Line Interface&#xff09;和新版的Beeline。 1. Hive CLI&#xff1a; Hive CLI 是 Hive 最早期的命令行客户端工具&#xff0c;它使用 JDBC 连接到 Hive 服务器&#xff…

[嵌入式系统-72]:ARM芯片选型基础

目录 一、ARM概述 1.1 ARM介绍 1.2 ARM芯片的特点 1.3 ARM芯片的商业模式 1.4 ARM的发展历史 二、ARM架构 2.1 ARM SOC芯片的架构 2.2 ARM核的架构 三、ARM核的架构演进 3.1 经典ARM处理器ARMx 3.2 嵌入式ARM处理器Cortex-Mx系列&#xff1a;微控制器 3.3 嵌入式AR…

AI图书推荐:重塑—利用生成式AI构建产品

你知道吗&#xff0c;将人工智能融入产品已经成为全球企业的关键战略&#xff1f;埃森哲 (Accenture) 2023 年的一项研究显示&#xff0c;高达 75%的高管认为&#xff0c;如果在未来五年内未能有效整合人工智能&#xff0c;企业可能会被淘汰。 《重塑&#xff1a;利用生成式人工…

魔法程序员的奥妙指南:Java基本语法

作为一名魔法程序员&#xff0c;精通Java语言是至关重要的。Java作为一种强大的编程语言&#xff0c;在编写优质代码和开发强大应用程序时发挥着重要作用。让我们深入探讨Java基本语法的关键要点&#xff0c;从注释到变量&#xff0c;无所不包&#xff01; Java基本语法的神秘魔…

可重入分布式锁有哪些应用场景

原文连接&#xff1a;可重入分布式锁有哪些应用场景 https://mp.weixin.qq.com/s/MTPS9V8jn5J91wr-UD4DyA 之前发过的一篇实现Redis分布式锁的8大坑中&#xff0c;有粉丝留言说&#xff0c;分布式锁的可重入特性在工作中有哪些应用场景&#xff0c;那么我们这篇文章就来看一下…

IP定位技术在打击网络犯罪中的作用

随着互联网的普及和信息技术的发展&#xff0c;网络犯罪日益猖獗&#xff0c;给社会治安和个人财产安全带来了严重威胁。而IP定位技术的应用为打击网络犯罪提供了一种有效手段。IP数据云将探讨IP定位技术在打击网络犯罪中的作用及其意义。 1. IP定位技术的原理 IP&#xff08…

Windows下安装httpd

一、下载http安装包 1、下载地址 Welcome! - The Apache HTTP Server Project 2、点击“Download” 3、选择对应httpd服务&#xff0c;点击“Files for Microsoft Windows” 4、选择“Apache Lounge”&#xff0c;进入下载页面 5、点击“httpd-2.4.59-240404-win64-VS17.zip …

日本站群服务器提升网站用户体验的选择

日本站群服务器提升网站用户体验的选择 在当今数字化时代&#xff0c;网站的性能和用户体验对于在线业务的成功至关重要。为了确保网站能够提供快速、可靠和高效的访问体验&#xff0c;越来越多的网站管理员和企业选择了使用站群服务器。本文将深入探讨日本站群服务器的独特优…

网络安全之OSI七层模型详解

OSI七层模型分为控制层&#xff08;前三层&#xff09;和数据层&#xff08;后四层&#xff09;。从第七层到一层为&#xff1b; 应用层&#xff08;7&#xff09;接收数据 表示层&#xff08;6&#xff09;将数据翻译为机器语言 会话层&#xff08;5&#xff09;建立虚连接…