首页 > 编程语言 >C++前缀和

C++前缀和

时间:2025-01-05 15:54:55浏览次数:8  
标签:main 前缀 int namespace C++ 数组 include

有一个数组{2,1,3,6,4},询问三次结果: a[5] = {2, 1, 3, 6, 4}

1.数组第1到第2个元素的和是多少?

2. 数组第1到第3个元素的和是多少?

3. 数组第2到第4个元素的和是多少?

 

 

没有用前缀和的原始用法:

 1 #include<iostream>
 2 #include<stdio.h>
 3 using namespace std;
 4 int main(){
 5     int a[5]={2,1,3,6,4};
 6     for(int i=0;i<3;i++){
 7         int l,r;
 8         cin>>l>>r;
 9             int sum =0;
10         for(int j=l-1;j<r;j++){
11             sum+=a[j];
12         }
13         cout<<"sum:"<<sum<<endl;
14     }
15     return 0;
16 }
原始暴力方法

使用了前缀和的方法是:

 1 #include<iostream>
 2 #include<stdio.h>
 3 using namespace std;
 4 int main(){
 5     int a[5]={2,1,3,6,4};
 6     int s[6];//定义前缀和数组
 7     s[0]=0;
 8     for(int i=1;i<6;i++){
 9         s[i]=s[i-1]+a[i-1];
10     }
11     for(int i=0;i<3;i++){
12         int l,r;
13         cin>>l>>r;
14         cout<<s[r]-s[l-1]<<endl;
15     }
16     return 0;
17 }
前缀和方法

 

标签:main,前缀,int,namespace,C++,数组,include
From: https://www.cnblogs.com/YP-L/p/18653417

相关文章

  • C++版AI猜数
    源码#include<iostream>#include<ctime>usingnamespacestd;inta[17]={0,1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31};intb[17]={0,2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31};intc[17]={0,4,5,6,7,12......
  • C++中的 多维数组、锯齿数组
    多维数组定义:多维数组可以看作是数组的数组,通过在定义时指定每个维度的大小来创建。下面以三维数组为例。访问:使用多个索引来访问数组中的元素,索引从0开始。销毁:对于栈上定义的多维数组,当作用域结束时会自动销毁;对于堆上动态分配的多维数组,需要手动释放内存。#include<iost......
  • 前缀和和差分
    前缀和(PrefixSum)和差分(DifferenceArray)是处理数组问题时常用的两种数据结构或算法技巧,它们可以加速某些类型的查询,尤其是在涉及数组元素累积和或变化量的情况下。前缀和(PrefixSum)前缀和是一种将数组元素的累积和存储在新数组中的技术。对于一个数组a,其前缀和数组prefixS......
  • C++函数的出参
    在C#中,在函数或方法的参数前添加上out或ref时,这个参数就是出参了。在C++中主要是通过指针和引用实现来类似的功能。#include<iostream>//使用指针作为出参//getValues接受两个指向整数的指针,并通过这些指针修改了调用者提供的变量的值voidgetValues(int*a,int*b)......
  • C/C++调试---堆数据结构
    堆数据结构因为C/C++语言赋予程序员通过引用和指针来操纵内存对象的最大自由,所以毫不奇怪的是这些程序中的大多数bug都与错误的内存访问有关。根据错误发生的位置是栈还是堆,内存错误可分为两种:栈错误和堆错误。栈栈是分配给给一个独立的控制流(线程)的来纳许内存区域,用......
  • C/C++调试---调试符号与调试器
    调试符号与调试器调试符号调试符号由编译器生成,与相关的机器代码、全局数据对象等一同产生。链接器会收集并组织这些符号,将他们写入可执行文件的调试部分,或存储到一个单独文件中。概览全局函数和变量源文件和行信息为了优化程序性能,编译器可能会对源代码进行位移,情......
  • 【最新原创毕设】基于SpringBoot的企业综合业务审批管理系+37708(免费领源码)可做计算机
    目 录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2 企业综合业务审批管理系统系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3法律可行性分析2.2功能需求分析2.2.1功能性分析2.2.2非功能性......
  • C++Primer 变量
    欢迎阅读我的【C++Primer】专栏专栏简介:本专栏主要面向C++初学者,解释C++的一些基本概念和基础语言特性,涉及C++标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级程序设计技术。希望对读者有帮助!目录2.2变量变量......
  • 蓝桥杯2020年省赛C/C++B组第2题 既约分数
    解题思路:本题关键是掌握求最大公约数的方法——辗转相除法,其次就是注意如何减少遍历次数,我们不需要进行完全枚举,因为既然是既约分数,它本身的分子和分母倒过来组成的新的数也是既约分数,我们只需要统计一边即可,将统计完的的结果×2-1便是最终结果(因为1/1倒过来一样,所以要减去这......
  • 【C++】穿越时光隧道,拾贝史海遗珍,轻启C++入门之钥,解锁程序之奥秘(首卷)
    文章目录一、C++的发展历史1.发展历史2.版本更新3.学习C++时的资料查找链接二、C++的第一个程序三、命名空间1.命名空间的价值2.命名空间的定义与特性总结3.命名空间的使用方式指定命名空间域访问使用using将命名空间中某个成员展开使用using展开命名空间中全部成员4......