首页 > 其他分享 >前缀和 和 差分

前缀和 和 差分

时间:2023-03-10 17:22:05浏览次数:40  
标签:前缀 int 保存 long 差分 include

前缀和

P1115 最大子段和

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 const int N=2*100010;
 5 int n,a;//保存原数列
 6 long long b[N]; //保存a的前缀和
 7 int main() { 
 8     scanf("%d",&n);
 9     for(int i=1; i<=n; i++) {
10         scanf("%d",&a);
11         b[i]=a+b[i-1];
12     }
13     long long ans=b[1];//定义答案初始值 
14     long long mmin=0;//定义前n项和最小值 
15     for(int i=1; i<=n; i++) {
16         ans=max(ans,b[i]-mmin);//连续区间至少要有一个数 
17         mmin=min(mmin,b[i]);
18     }
19     printf("%lld",ans);
20     return 0;
21 }

 

标签:前缀,int,保存,long,差分,include
From: https://www.cnblogs.com/mantou20210331/p/17204126.html

相关文章

  • 差分数组
      首先要了解几个概念,假定b(n)是a(n)的差分数组。(1)差分数组:b(n)=a(n)-a(n-1),(2)a(i)数组的值是差分数组b(1)-b(i)的和。即前缀和sum(i)。差分数组的前缀和:b(n)+=b(n-1)(3)在b(l)......
  • python 批量提取.txt文件的前缀名称
    importtkinterastk#导入tkinter库设置别名tkimportosimporttimeimportglobroot=tk.Tk()#生成主窗口root.title('文件提取器')#设置窗体名字root......
  • 差分
    差分差分是前缀和的逆运算。     利用差分数组D[]可以把O(n)的区间修改,变成O(1)的端点修改,从而提高了修改操作的效率。  但是,一次查询操作,即查询某......
  • 算法笔记之前缀和与差分
    什么是前缀和定义前缀和(PrefixSum):对于一个给定的数列\(a\),它的前缀和数列\(sum\)是通过递推能求出来得\(sum_i=\sum_{j=1}^{i}a_j\)部分和。也就是指某一序列......
  • 最大前缀和C++
    //给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。#include<iostream>usingnamespacestd;constintN=2e5+10;//注意全局常量必须在前面添加c......
  • 算法基础1.4.2差分
    前言学习差分前一定要先学习前缀和,因为差分就是前缀和的一个逆运算(有点像微分和积分),所以只有先搞清楚前缀和才能明白差分点这里补习前缀和这里同样也是从一维和二维两个......
  • 算法基础1.4.1前缀和与二维前缀和
    前言前缀和其实不能说是一种算法,它也并不会单独出现题目中。应该说是一个比较简单,但是容易被人忽略的工具正文所谓前缀和,就是一个用来计算数组某个区间内所有数之和的一......
  • 3729. 改变数组元素(差分)
    https://www.acwing.com/problem/content/3732/一维差分,要点是题目给的v数组一开始为空的,可以认为v数组一开始全为0,有n个0(因为加入了n个数),要满足题意得用循环模拟不......
  • 差分约束算法
    \[\begin{cases}x_{c_1}-x_{c'_1}\leqy_1\\x_{c_2}-x_{c'_2}\leqy_2\\\cdots\\x_{c_m}-x_{c'_m}\leqy_m\end{cases}\]转化为最短距离:对于任意的一个不等式\(x......
  • 【发电优化】基于差分算法求解单库发电优化问题附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......