DP34 【模板】前缀和

news/2024/12/30 22:30:56/

文章目录

  • 1.题目
    • 描述
      • 输入描述:
      • 输出描述:
    • 示例1
  • 2.思路
  • 3.代码


1.题目

DP34 【模板】前缀和

描述

给定一个长度为n的数组a1,a2,…ana1,a2,…a**n.

接下来有q次查询, 每次查询有两个参数l, r.

对于每个询问, 请输出al+al+1+…+ara**l+a**l+1+…+a**r

输入描述:

第一行包含两个整数n和q.

第二行包含n个整数, 表示a1,a2,…ana1,a2,…a**n.

接下来q行,每行包含两个整数 l和r.

输出描述:

输出q行,每行代表一次查询的结果.

示例1

输入:

3 2
1 2 4
1 2
2 3

输出:

3
6

2.思路

暴力解法,时间复杂度为O(n*q),q是查询次数,这里主要用前缀和

  • ⽤ dp[i] 表⽰: [1, i] 区间内所有元素的和,那么 dp[i - 1] ⾥⾯存的就是 [1, i-1]区间内所有元素的和,那么:可得递推公式: dp[i] = dp[i - 1] + arr[i]
  • 当询问的区间是 [l, r] 时:区间内所有元素的和为:dp[r] - dp[l - 1]
  • 注意,下表边界从1开始,方便计数

3.代码

#include <iostream>
#include <vector>
using namespace std;int main() {//1.读取数据int n,q;cin >> n >> q;vector<int> arr(n + 1);for(int i = 1;i <= n;i++)cin >> arr[i];//2.预处理出来一个前缀和数组vector<long long> dp(n + 1);//防止溢出for(int i = 1;i <= n;i++)dp[i] = dp[i - 1] + arr[i];//3.使用dpwhile(q--){int l,r;cin >> l >> r;cout << dp[r] - dp[l - 1] << endl;}return 0;
}


http://www.ppmy.cn/news/1536642.html

相关文章

泛微OA将流程明细表内容传给SAP

泛微OA 将流程的明细表数据传给SAP 在泛微二开中&#xff0c;经常会遇到的问题就有涉及到多个系统数据传输的问题&#xff0c;今天记录的就是泛微OA与SAP系统的数据传输&#xff0c;希望对你有用 传递参数给SAP 一般在与SAP系统传输数据的时候&#xff0c;需要明确SAP接收的…

Redis篇(Redis原理 - RESP协议)

目录 一、简介 二、Redis通信协议 基于Socket自定义Redis的客户端 三、Redis内存回收 1. 过期key处理 1.1. 惰性删除 1.2. 周期删除 1.3. 知识小结 2. 内存淘汰策略 一、简介 Redis是一个CS架构的软件&#xff0c;通信一般分两步&#xff08;不包括pipeline和PubSub&a…

Pikachu-Cross-Site Scripting-xss盲打

xss盲打&#xff0c;不是一种漏洞类型&#xff0c;而是一个攻击场景&#xff1b;在前端、或者在当前页面是看不到攻击结果&#xff1b;而是在后端、在别的页面才看到结果。 登陆后台&#xff0c;查看结果&#xff1b;

C++模拟实现二叉搜索树

目录 1.二叉搜索树的概念 2.二叉搜索树的性能分析 3.二叉搜索树的结构和中序遍历 3.1二叉搜索树中节点的结构 3.2二叉搜索树的结构 3.3中序遍历 4.二叉搜索树的插入 5.二叉搜索树的查找 6.二叉树搜索树的删除 7. 二叉搜索树的默认成员函数 8.参考代码 9.二叉搜…

wsl(3) -- USB使用

1. 简介 WSL1中可以直接使用Windows的串口&#xff0c;其对应关系就是COMx对应WSL的/dev/ttySx&#xff0c;例如COM2对应WSL的/dev/ttyS2。WSL2是不支持USB设备的&#xff0c;但可以通过usbipd-win程序将windows上的usb设备映射到wsl2中&#xff0c;参考微软官方文档连接 USB …

【Android Studio】基础入门(一)—— 创建第一个 Android 项目

文章目录 前言一、创建项目二、启动模拟器三、运行程序 前言 Android Studio是谷歌官方推出的免费集成开发环境&#xff0c;专为安卓应用开发而设计&#xff0c;集成了代码编写、调试、界面设计及性能分析等多种强大功能&#xff0c;支持Java和Kotlin语言&#xff0c;极大提升了…

分布式事务讲解 - 2PC、3PC、TCC

分布式事务讲解 - 2PC、3PC、TCC 前置知识 BASE理论&#xff1a; BASE是Basically Availbale(基本可用)、Soft state(软状态)、Eventually consistent(最终一致性)三个词语的缩写。BASE理论是对CAP理论中AP的一个扩展&#xff0c;通过牺牲强一致性来获得可用性&#xff0c;当…

Git的安装配置

目录 一、git和svn的区别是什么 二、下载Git 三、安装 四、使用 一、git和svn的区别是什么 1、git是分布式的&#xff0c;svn是集中的式的 2、git存储数据时是按元数据的方式存储&#xff0c;而svn是按文件的方式存储 3、git分支和svn的分支不一样 4、git没有全局版本号…