首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
【模板】差分
10条解析
开通博客写题解
Ldh1315109
发表于 2025-11-11 18:12:59
def solve(testcase): n, q = MI() A = LII() B = [0, A[0]] for i in range(1, n): B.append(A[i] - A[i - 1]) B.append(0)
展开全文
realrole
发表于 2025-12-12 00:46:19
#include <iostream> #define int long long #define endl '\n' using namespace std; signed main() { int n,q; cin>>n>>q; in
展开全文
金刚侠
发表于 2025-12-18 23:01:07
#include <iostream> using namespace std; #include <vector> int main() { int n,q; cin>>n>>q; vector<long long>s(n+1);
展开全文
王同学8
发表于 2025-12-17 15:38:57
n,q = map(int,input().split()) a = list(map(int,input().split())) tmp = [a[0]] for i in range(1,n): tmp.append(a[i]-a[i-1]) for _ in range(q):
展开全文
小狐今天睡大觉
发表于 2025-12-28 11:24:01
如果每一次操作都直接操作原数组,在极端情况下达到O(n^2)导致超时。采用差分思想进行数组操作:实现一个差分数组,该数组的元素置零,该数组用来表示多个patch区间,区间头为差分数,区间末尾为-差分数。维护cnt表示当前patch大小,最后一次性加到原数组里。 #include <iostre
展开全文
SDU_25_数学交叉_新耕孙
发表于 2025-12-19 10:52:45
#include<bits/stdc++.h> using namespace std; const int MAXN = 5000005; long long a[MAXN]; long long diff[MAXN]; //构建差分数组 void build_diff(int n)
展开全文
Drink0318
发表于 2025-12-23 10:42:04
import sys data=sys.stdin.read().splitlines() n,q=map(int,data[0].split()) a=list(map(int,data[1].split())) diff=[0]*(n+1) for i in range(0,n+1):
展开全文
此在Dasein
发表于 2025-11-17 03:03:49
这是一个典型的差分数组(Difference Array)应用场景。核心思想是: 问题特点:只进行区间修改,且无需在中间过程查询,最终一次性输出结果。这允许我们将"区间操作"转化为"点操作"。 关键观察:如果对原数组的区间 [l, r] 增加 d,等价于在差
展开全文
自由的风0450
发表于 2025-11-15 09:24:10
#include <iostream> #include<vector> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n,q
展开全文
nous1
发表于 2025-11-17 12:29:59
#include <bits/stdc++.h> using namespace std; #define int long long signed main() { int n,m; cin>>n>>m; int arr[n]; vec
展开全文
查看本题
查看本题讨论
相关比赛
20960-2021秋季算法入门班第一章习题:模拟、枚举、贪心
进入比赛
94803-模板题内测
进入比赛
124645-模板题内测
进入比赛
等你来战
查看全部
牛客小白月赛127
报名截止时间:2026-01-16 21:00
牛客周赛 Round 127
报名截止时间:2026-01-18 21:00
2026牛客寒假算法基础集训营1
报名截止时间:2026-02-03 18:00
2026牛客寒假算法基础集训营2
报名截止时间:2026-02-05 18:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题