当前位置: 首页 > news >正文

算法与数据结构--前缀和

一维前缀和适用于计算某个一维数列某个数到某个数之间的累加和(或者乘积,又或者异或和)之类的。

比如计算某个一维度数列从i到j之间元素的和。最开始的想法就是从i遍历到j,将这之间的元素相加。但是当查询次数很多时候,有没有更方便的方法呢?

我们可以在输入的时候计算一下前缀和,也就是第1项的和,第1和2项的和,第1和2和3项的和。。。然后当计算从i到j之间元素的和时候,我们只需要将第1项到第j项的和减去第1项到第i-1项的和就可以了,这样每次查询的时间复杂度就从O(n)降到了O(1)。当查询的次数很多的时候,时间提升的特别明显。

#include <iostream>
using namespace std;int main() {int n;cout << "请输入数列的长度n: ";cin >> n;int nums[n];int prefixSum[n];cout << "请输入" << n << "个整数作为数列: ";for (int i = 0; i < n; ++i) {cin >> nums[i];if(i==0)prefixSum[0]=nums[0];elseprefixSum[i]=nums[i]+prefixSum[i-1]; }int queries;cout << "请输入查询的次数: ";cin >> queries;for (int q = 0; q < queries; ++q) {int left, right;cout << "请输入查询的区间左右边界i和j: ";cin >> left >> right;// 查询区间累加和int sum = prefixSum[right] - prefixSum[left - 1];cout << "区间(" << left << ", " << right << ") 的累加和为: " << sum << endl;}return 0;
}

相关文章:

算法与数据结构--前缀和

一维前缀和适用于计算某个一维数列某个数到某个数之间的累加和&#xff08;或者乘积&#xff0c;又或者异或和&#xff09;之类的。 比如计算某个一维度数列从i到j之间元素的和。最开始的想法就是从i遍历到j&#xff0c;将这之间的元素相加。但是当查询次数很多时候&#xff0…...

高频CSS面试题

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;web前端面试题库 BFC 块级格式上下文(block format context)是页面一块独立的渲染区域&#xff0c;具有一套独立的渲染规则 内部的…...

electron 内部api capturePage实现webview截图

官方文档 .capturePage([rect]) rect Rectangle (可选) - 要捕获的页面区域。 返回 Promise - 完成后返回一个NativeImage 在 rect内捕获页面的快照。 省略 rect 将捕获整个可见页面。 async function cap(){ let image await webviewRef.value.capturePage() console.log(im…...

sql9(Leetcode197上升的温度)

代码&#xff1a; inner join 至少存在一个 返回行 datediff 日期差 # Write your MySQL query statement below SELECT b.id FROM Weather a INNER JOIN Weather b WHERE DATEDIFF(b.recordDate,a.recordDate)1 AND b.Temperature>a.Temperature...

物联网AI MicroPython学习之语法 umqtt客户端

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; umqtt 介绍 模块功能: MQTT客户端功能 - 连线、断线、发布消息、订阅主题、KeepAlive等功能。 MQTT协议采用订阅者/发布者模式&#xff0c;协议中定义了消息服务质量&#xff08;Quality of Service&#x…...

SQLite3 数据库学习(二):SQLite 中的 SQL 语句详解

参考引用 SQLite 权威指南&#xff08;第二版&#xff09;SQLite3 入门 1. SQL 语句操作 SQLite 数据库 1.1 创建数据表格 create table 表名(字段名 数据类型&#xff0c; 字段名 数据类型&#xff0c; 字段名 数据类型&#xff0c; 字段名 数据类型); 命令行语句结束要加分…...

基础课4——客服中心管理者面临的挑战

客服管理者在当今的数字化时代也面临着许多挑战。以下是一些主要的挑战&#xff1a; 同行业竞争加剧&#xff1a;客服行业面临着来自同行业的竞争压力。为了获得竞争优势&#xff0c;企业需要不断提高自身的产品和服务质量&#xff0c;同时还需要不断降低成本、提高效率。然而…...

RFID技术在危险废物管理中的应用解决方案

一、背景介绍 随着我国经济的快速发展&#xff0c;轻纺、化工、制药、电子等行业的危险废物排放量逐年增加。然而&#xff0c;由于危险废弃物处理不当&#xff0c;可能导致大气、水体和土壤污染&#xff0c;对环境和人体健康造成严重威胁&#xff0c;制约了经济和健康的可持续…...

二百零三、Flume——Flume实时采集数据频率为1s的高频率Kafka数据直接写入ODS层表的HDFS文件路径下

一、目的 在离线数仓中&#xff0c;需要用Flume去采集Kafka中的数据&#xff0c;然后写入HDFS中。 由于每种数据类型的频率、数据大小、数据规模不同&#xff0c;因此每种数据的采集需要不同的Flume配置文件。玩了几天Flume&#xff0c;感觉Flume的使用难点就是配置文件 二、…...

Word或者WPS批量调整文中图片大小的快捷方法

文章目录 0、前言1、编写宏代码2、在文档中调用宏实现一键批量调整3、就这么简单&#xff01; 0、前言 不知道大家是不是也和我一样&#xff0c;经常需要在编写的Word&#xff08;或者WPS&#xff09;文档里插入大量的图片&#xff0c;但是这些图片的尺寸大小一般都不一样&…...

url在api测试工具可以访问,但在浏览器不能访问

api测试工具可以正常返回数据&#xff0c;但在浏览器中输入url无法访问网站那么很有可能是端口号的原因被浏览器取消了访问。 我们可以通过两种方法解决&#xff1a; 1.修改配置文件中的端口号。 2.取消端口号的限制。&#xff08;具体方法已经有很多前辈讲过了&#xff0c;若感…...

k8s之Helm

理论&#xff1a; 什么是 He lm 在没使用 helm 之前&#xff0c;向 kubernetes 部署应用&#xff0c;我们要依次部署 deployment、svc 等&#xff0c;步骤较繁琐。 况且随着很多项目微服务化&#xff0c;复杂的应用在容器中部署以及管理显得较为复杂&#xff0c;helm 通过打包…...

ElasticSearch 增删改查操作

本文主要是介绍 ElasticSearch 的文档增删改查和批量操作&#xff0c;同时会介绍一些 REST API 返回状态码的具体含义。 我们先来看下这个表&#xff1a; 这个表包含了 Index、Create、Read、Update、Delete 这五种方法&#xff0c;我们先来看下 CRUD 操作的 HTTP 请求都长什么…...

ctfshow sql171-179

mysql 先打开我们本地的mysql&#xff0c;可以看到这些数据库 information_schema information_schema 库: 是信息数据库&#xff0c;其中保存着关于MySQL服务器所维护的所有其他数据库的信息比如数据库名&#xff0c;数据库表&#xff0c; SCHEMATA表: 提供了当前MySQL实例…...

Mysql 自带分页异常

Mysql 自带分页异常 limit?,? 25条数据&#xff0c;在分页是10时&#xff0c;第一页和第二页的数据有重复的 分页是30时无异常。 经检查后发现&#xff0c;是mysql的分页出现了问题&#xff0c;其中分页后进行了排序&#xff0c;按照state进行的排序 select * from user or…...

MySQL MVCC机制详解

MySQL MVCC机制详解 MVCC, 是Multi Version Concurrency Control的缩写&#xff0c;其含义是多版本并发控制。这一概念的提出是为了使得MySQL可以实现RC隔离级别和RR隔离级别。 这里回顾一下MySQL的事务&#xff0c; MySQL的隔离级别和各种隔离级别所存在的问题。 事务是由 …...

搭建成功simulink-stm32硬件在环开发环境

本次实验所使用的软件版本和硬件平台参数如下&#xff1a; Matlab版本: 2021b STM32硬件平台&#xff1a;YF_STM32_Alpha 1R4(参考自STM32 Nucleo F103RB官方开发板) YF_STM32_Alpha开发板 STM32 Nucleo F103RB 开发板 2.1 STM32硬件支持包下载 读者朋友平时使用的是和谐版M…...

【计算机网络】UDP协议

UDP的结构 我们学习一个协议最主要的就是理解它的报文格式&#xff0c;对于UDP协议来说 我们看下面的这张图。 16位UDP长度&#xff0c;表示整个数据报&#xff08;UDP首部UDP数据&#xff09;的最大长度。UDP报文长度占两个字节&#xff0c;16位表示的数据范围&#xff08;0-…...

ubuntu安装mysql8.0.35过程和报错处理

ubuntu安装mysql8.0.35过程 1.更新包列表&#xff1a;首先&#xff0c;确保您的系统已更新到最新状态。运行以下命令来更新包列表和安装最新的软件包&#xff1a; sudo apt update sudo apt upgrade2.安装MySQL服务器&#xff1a;运行以下命令来安装MySQL服务器&#xff1a; …...

SQL基础理论篇(一):什么是SQL

文章目录 什么是SQLSQL的四大部分常用的SQL标准参考文献 什么是SQL SQL的全称是Structured Query Language&#xff0c;即结构化查询语句。 其最早诞生于1974年&#xff0c;IBM研究员发布的一篇论文"SEQUEL&#xff1a;一门结构化的英语查询语言"。这几十年里&…...

OpCore-Simplify:5分钟完成黑苹果EFI配置的终极解决方案

OpCore-Simplify&#xff1a;5分钟完成黑苹果EFI配置的终极解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾为黑苹果配置而头痛&…...

树莓派与STM32串口通信实战:从配置到调试全流程解析

1. 硬件准备与环境搭建 第一次尝试用树莓派和STM32做串口通信时&#xff0c;我对着桌上堆满的零件发愁&#xff1a;到底哪些线该接哪里&#xff1f;后来发现其实核心部件就三样&#xff1a;树莓派&#xff08;推荐4B型号&#xff09;、STM32开发板&#xff08;我用的是F103C8T6…...

论文魔法盒:书匠策AI,期刊论文写作的“超级外挂”

在学术的奇妙世界里&#xff0c;论文写作就像是一场充满挑战的魔法冒险。尤其是期刊论文&#xff0c;它要求学者们不仅要有深厚的学术功底&#xff0c;还得掌握各种写作技巧和规范。不过&#xff0c;现在有了书匠策AI这个神奇的“魔法盒”&#xff0c;期刊论文写作不再是令人望…...

深度学习模型过拟合的实战诊断与优化策略

1. 过拟合现象的诊断方法 第一次训练神经网络时&#xff0c;我盯着训练准确率冲到99%兴奋不已&#xff0c;结果测试集表现只有65%——这就是典型的过拟合现场。判断模型是否过拟合&#xff0c;就像医生看体检报告&#xff0c;需要多维度交叉验证。 最直观的方法是训练集与验证集…...

semi-utils:批量添加专业水印的智能解决方案

semi-utils&#xff1a;批量添加专业水印的智能解决方案 【免费下载链接】semi-utils 一个批量添加相机机型和拍摄参数的工具&#xff0c;后续「可能」添加其他功能。 项目地址: https://gitcode.com/gh_mirrors/se/semi-utils 作为一名摄影爱好者或专业摄影师&#xff…...

Phi-4-mini-reasoning保姆级教学:Windows WSL2环境部署全流程

Phi-4-mini-reasoning保姆级教学&#xff1a;Windows WSL2环境部署全流程 1. 模型介绍 Phi-4-mini-reasoning是微软推出的3.8B参数轻量级开源模型&#xff0c;专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个模型主打"小参数、强推理、长上下文、低延迟"的…...

uniapp学习9,同时兼容h5和微信小程序的百度地图组件

H5端微信小程序端&#xff1a;manifest.json配置 "mp-weixin" : {"appid" : "你的微信小程序appid","setting" : {"urlCheck" : false},"usingComponents" : true,"permission": {"scope.userLoca…...

别再只用箱线图了!用R语言vioplot绘制小提琴图的5个高级技巧与常见误区避坑

别再只用箱线图了&#xff01;用R语言vioplot绘制小提琴图的5个高级技巧与常见误区避坑 当你已经能够熟练地用箱线图展示数据分布时&#xff0c;是否想过有一种更优雅、信息量更大的可视化方式&#xff1f;小提琴图&#xff08;Violin Plot&#xff09;正是这样一种工具&#x…...

DYOR 嘉创地产 02421.HK

文章目录1.公司概况1.1 简介1.2 股权结构1.3 核心资质与定位2.业务布局3.财务与市场表现&#xff1a;业绩承压&#xff0c;规模迷你3.1 业绩大幅下滑3.2 市场表现落后3.3 规模在行业中垫底4.核心优势5.潜在风险与隐忧6.小结参考文献1.公司概况 1.1 简介 嘉创地产是一家脱胎于…...

MySQL 事务与并发控制:从日志底层到 MVCC 哲学

MySQL 事务与并发控制&#xff1a;从日志底层到 MVCC 哲学 文章目录 MySQL 事务与并发控制&#xff1a;从日志底层到 MVCC 哲学&#x1f4da; 课程大纲规划 &#x1f4d6; 第一讲&#xff1a;基础——事务概念与隔离级别1. &#x1f3ad; 并发带来的三大“幽灵”&#x1f47b; …...