当前位置: 首页 > 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.zskr.cn/news/178017.html

相关文章:

  • 使用PyTorch实现姿态估计人体关键点检测
  • 交流放大电路设计总结:基于Multisim的实践案例
  • Markdown subscript下标表示PyTorch维度
  • PyTorch-CUDA-v2.8镜像内置了哪些常用的AI开发工具?
  • YOLOv5训练提速秘诀:使用PyTorch-CUDA-v2.8镜像
  • HuggingFace accelerate launch多卡启动
  • 无需手动安装!PyTorch-CUDA基础镜像开箱即用,支持多卡并行计算
  • Git reset撤销错误的PyTorch代码修改
  • 有源蜂鸣器和无源区分驱动电路系统学习路径
  • 大模型Token消耗优化技巧:减少无效请求的方法
  • 如何在PyTorch-CUDA-v2.8中运行HuggingFace示例脚本?
  • Git stash暂存更改:临时切换PyTorch实验分支
  • YOLOv11n轻量级模型在PyTorch-CUDA环境的表现评测
  • 无需手动installing:PyTorch-CUDA镜像解决依赖冲突顽疾
  • 全面讲解buck电路图及其原理的基本构成
  • Docker Compose配置GPU资源限制防止OOM
  • GitHub Wiki搭建项目文档:组织PyTorch使用手册
  • SSH隧道转发Jupyter端口实现安全远程访问
  • Protel99SE安装成功后的初步设置:手把手指导
  • PyTorch Transformer架构逐层拆解分析
  • PCB工艺热管理设计:原型阶段的考量重点
  • AI开发者福音:PyTorch-CUDA镜像支持一键部署
  • Git subtree合并独立PyTorch子项目
  • PyTorch TensorBoard集成可视化训练指标
  • GitHub开源项目推荐:基于PyTorch-CUDA的优秀案例集合
  • SSH agent forwarding避免私钥分发风险
  • PyTorch contiguous与non-contiguous内存详解
  • Jupyter Notebook主题美化提升视觉体验
  • Altium Designer安装教程:系统服务与权限配置详解
  • Altium Designer中表面处理选择对PCB工艺的影响解析