首页 > 其他分享 >前缀和

前缀和

时间:2024-03-06 19:34:44浏览次数:21  
标签:10 下标 前缀 一维 二维 数组

记录
10:07 2024-3-4

目录

1.前缀和

1.一维前缀和

数组A[x] (下标从1开始)
前缀和S[0] = 0 S[i] = S[i - 1] + A[i]

2.二维前缀和

数组A[x][y] (下标从1开始)
前缀和S[i][j]表示以(i,j)为右下角的矩形中所有元素的和
S[i][0] = S[0][j] = 0
S[i][j] = S[i - 1][j] + S[i][j - 1] - S[i - 1][j - 1] + A[i][j]

标签:10,下标,前缀,一维,二维,数组
From: https://www.cnblogs.com/57one/p/18051263

相关文章

  • 【基础算法】前缀和
    前缀和为什么要学前缀和?例题:一维前缀和暴力解法#include<bits/stdc++.h>usingnamespacestd;constintN=100010;intn,m;inta[N];intmain(){ cin>>n>>m; for(inti=1;i<=n;i++)cin>>a[i]; while(m--) { intl,r; cin>&......
  • Educational Codeforces Round 143 (Rated for Div. 2)C. Tea Tasting(前缀和+二分、
    C.TeaTasting思路这里枚举有三种思路然后经过考虑3是最可行的,然后接着考虑如何计算贡献这里在实现的时候用了一个差分数组,因为我们需要记录第i个茶师它喝了多少个\(b_i\)以及不满\(b_i\)的用\(c_i\)记录,最后计算一下答案即可。#include<bits/stdc++.h>#defineintlon......
  • 二维前缀和
    二维前缀和classMatrixSum{privatefinalint[][]sum;publicMatrixSum(int[][]matrix){intm=matrix.length,n=matrix[0].length;sum=newint[m+1][n+1];//注意:如果matrix[i][j]范围很大,需要使用longfor(inti=0;i<m;i++){......
  • 2024AcWing蓝桥杯集训·每日一题-前缀和
    1.[AcWing562.壁画]题目描述Thanh想在一面被均分为\(N\)段的墙上画一幅精美的壁画。每段墙面都有一个美观评分,这表示它的美观程度(如果它的上面有画的话)。不幸的是,由于洪水泛滥,墙体开始崩溃,所以他需要加快他的作画进度!每天Thanh可以绘制一段墙体。在第一天,他可以自由的......
  • 前缀和
    作用在求一串数的Sn-Sm时,降低时间复杂度O(n)为O(1)代码#include<iostream>usingnamespacestd;constintN=100010;intn,m;inta[N],s[N];intmain(){ scanf("%d%d",&n,&m); for(inti=1;i<=n;......
  • 14 CodeTON Round 5 (Div. 1 + Div. 2, Rated, Prizes!)C. Tenzing and Balls(dp+前缀
    思路:dp还是挺明显的,思路可以参考最长上升子序列有点dp的感觉\(f[i]\)表示考虑前\(i\)个数,的最大值当前数有两种删或不删不删:\(f[i]=f[i-1]\);删:\(f[i]=max{f[j-1]+i-j+1}\)这个转移是\(O(n^2)\)的显然时间上来不及考虑优化,第一层循环一定是省不了的考虑优化掉第二层循环......
  • 一维差分/前缀和
    算法笔记的第一篇文章前缀和:在做题时,我们经常会遇见这种问题:给你一个长度为\(n\)的序列\(a\),有\(q\)次询问,每次给出一个区间\(\left[L,R\right]\),请输出\(a_l+a_{l+1}+\cdots+a_r\)的和。对于这种问题,最为简单的方式莫过于\(\operatorname{O}(nq)\)暴力了。......
  • 11 .Codeforces Round 891 (Div. 3)E. Power of Points(推公式+前缀和优化)
    E.PowerofPoints题解参考#include<bits/stdc++.h>#defineintlonglong#definerep(i,a,b)for(inti=(a);i<=(b);++i)#definefep(i,a,b)for(inti=(a);i>=(b);--i)#define_for(i,a,b)for(inti=(a);i<(b);++i)#definepii......
  • 差分和前缀和
    蓝桥杯第14届中的一道题所学:题目描述小蓝拥有n×n大小的棋盘,一开始棋盘上全都是白子。小蓝进行了m次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)。请输出所有操作做完后棋盘上每个棋子的颜色。输入格式输入的第一行包......
  • 前缀和算法
    一、简析前缀和有一系列元素\(A[a_0,~a_1,~...,~a_n,~...]\),前缀和\(pre\_sum[n]=A[0]+A[1]+···+A[n]\)。利用前缀和,我们可以很高效地得到\([L,~R]\)的区间和\(\sum_{i=L}^{R}A[i]=pre\_sum[R]-pre\_sum[L-1]\)。二、相关问题2.1题目简述P8649[蓝桥杯2017省B]......