![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前缀和及差分
不会JAVA的运营不是好数分
这个作者很懒,什么都没留下…
展开
-
树上点差分
树上点差分https://www.luogu.com.cn/problem/P3128题意理解一棵树,根节点为1大量修改操作,但是每次是将两个点之间的路径上的所有点,都增加1一个查询操作,问最后哪一个点上的值最大。算法解析使用树上差分+最近公共祖先即可。就是一个点上的最后权值,就是统计子树和的过程。树上差分举个例子:有一个树。设原树如下,现要将2,3之间路径上的所有点的权值增加3,设原权值均为0。可以求任一个点的权值。现在有两个想法:暴力:一个是将2,3路径上的所有原创 2020-07-13 00:22:00 · 318 阅读 · 1 评论 -
P2367 语文成绩-裸差分
P2367 语文成绩题意若干分数【l,r】加分想法裸差分//P2367 语文成绩// Created by majoe on 2020/5/27.//https://www.luogu.com.cn/problem/P2367#include <bits/stdc++.h>using namespace std;int n,p,a[5000001],diff[5000001];int main(){ scanf("%d%d",&n,&p)原创 2020-06-02 10:37:57 · 503 阅读 · 0 评论 -
P1147 连续自然数和-前缀和
P1147 连续自然数和https://www.luogu.com.cn/problem/P1147题意输入一个n。找到1-n中连续区间上和为n的数。输出左右端点想法前缀和+ 二分已知 生成前缀和s[i],且 s[i] - s[k-1] = n,求k那么只需要找到 s[i] - n 在s数组中的位置就可以求得 k 了且已知,s前缀和数组,必然单调。(自然数的和)//P1147 连续自然数和// Created by majoe on 2020/5/27.//https://w原创 2020-06-02 09:11:29 · 343 阅读 · 0 评论 -
AT2412 最大の和 -前缀和
AT2412 最大の和https://www.luogu.com.cn/problem/AT2412题意一个数组,求连续k个数字的最大和想法前缀和+遍历构造这个数组的前缀遍历【i-k+1,i】的和,找到最大的和//AT2412 最大の和// Created by majoe on 2020/5/27.//https://www.luogu.com.cn/problem/AT2412#include <bits/stdc++.h>using namespace s原创 2020-06-02 09:07:37 · 293 阅读 · 0 评论 -
前缀和及差分原理和应用
前缀和前缀和的思路是这样的,对于一个给定的数组 a,我们额外开辟一个前缀和数组进行预处理:前缀和 sum[i]代表【1~i】的a的和。推导如下:前缀和应用求任一子区间的和。S【r】 - s【l-1】 = a【l】+ … + a【r】模板S[i] = a[1] + a[2] + ... a[i]a[l] + ... + a[r] = S[r] - S[l - 1] 二维数组前缀和和一维前缀和类似。可以求连续子区间的和。但是需要减去重合的部分。模板S[i, j] =原创 2020-06-02 09:03:43 · 762 阅读 · 0 评论