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

Day12 区间和 -代码随想录 数组

代码随想录:区间和
题目链接:区间和

题目描述

给定一个整数数组 Array,请计算该数组在每个指定区间内元素的总和。

输入描述

第一行输入为整数数组 Array 的长度 n,接下来 n 行,每行一个整数,表示数组的元素。随后的输入为需要计算总和的区间,直至文件结束。

输出描述

输出每个指定区间内元素的总和。

输入示例
5
1
2
3
4
5
0 1
1 3

输出示例
3
9

数据范围:
0 < n <= 100000

点击查看代码
#include<iostream>
#include<vector>
#include<cstdio>
using namespace std;
int main(){int n,a,b;scanf("%d",&n);vector<int> vec(n);vector<int> p(n);int presum = 0;for(int i = 0;i < n;i++){scanf("%d",&vec[i]);presum += vec[i];p[i] = presum;}while(cin >> a >> b){int sum;if(a == 0) sum = p[b];else sum = p[b] - p[a-1];printf("%d\n",sum);}
}
小结

计算给定下标(含首尾)内的值总和

解题思想:通过前缀和,避免多次重复遍历计算导致超时

做法

变量

int n,a,b; //接受初始值
vector<int> vec(n); //存储n个数
int presum=0; //代表前i项之和;每遍历一个数,就加上它
vector<int> p(n); //用于存储vec前i项之和 presum 值
  • 初始化vec数组,并通过presum对输入值相加,对前缀和数组p初始化
  • 对每次输入值通过sum=p[b]-p[a-1]求得区间和
  • 注意当a为0时,p[a-1]越界.所以当a==0时,区间和为p[b]
http://www.jsqmd.com/news/162559/

相关文章:

  • Anaconda配置PyTorch环境时遭遇SSL错误解决办法
  • PyTorch-CUDA-v2.7镜像体积优化:瘦身技巧与压缩方案
  • 交流放大电路设计总结:基于Multisim的实践案例
  • 使用PyTorch实现姿态估计人体关键点检测
  • Markdown subscript下标表示PyTorch维度
  • 深入探讨React中的Context与状态管理
  • HuggingFace Token权限管理:限制模型访问范围
  • PyTorch-CUDA-v2.8镜像内置了哪些常用的AI开发工具?
  • HuggingFace accelerate launch多卡启动
  • YOLOv5训练提速秘诀:使用PyTorch-CUDA-v2.8镜像
  • 从Logistic到Fisk分布的转换
  • 无需手动安装!PyTorch-CUDA基础镜像开箱即用,支持多卡并行计算
  • Docker健康检查监控PyTorch服务运行状态
  • YOLOv11实时检测性能测评基于PyTorch-CUDA
  • Git reset撤销错误的PyTorch代码修改
  • PyTorch v2.8支持Windows系统吗?
  • 使用 SSH 隧道通过云主机(如 AWS EC2)实例访问网络。
  • 有源蜂鸣器和无源区分驱动电路系统学习路径
  • 大模型Token消耗优化技巧:减少无效请求的方法
  • 如何在PyTorch-CUDA-v2.8中运行HuggingFace示例脚本?
  • Docker守护进程启用GPU支持的系统级配置
  • yolov11误检分析:利用PyTorch-CUDA-v2.7调试数据集问题
  • PyTorch模型训练卡顿?检查CUDA和cuDNN版本匹配
  • Git stash暂存更改:临时切换PyTorch实验分支
  • 使用Conda创建独立PyTorch环境,隔离不同项目依赖
  • SSH配置config文件简化多主机连接管理
  • 无需手动installing:PyTorch-CUDA镜像解决依赖冲突顽疾
  • Conda创建专用PyTorch环境避免包冲突
  • YOLOv11n轻量级模型在PyTorch-CUDA环境的表现评测
  • 全面讲解buck电路图及其原理的基本构成