洛谷P2367 语文成绩(差分)

2022-11-19,,

标准的差分应用题,不要想的太复杂,写成了线段树。

 1 #include<bits/stdc++.h>
2 using namespace std;
3 const int N=5e6+10;
4 int d[N],a[N];//d是差分数组
5 int n,p,x,y,z,ans=1e9;
6 int main(){
7 scanf("%d%d",&n,&p);
8 for(int i=1;i<=n;i++) scanf("%d",&a[i]);
9 for(int i=1;i<=n;i++) d[i]=a[i]-a[i-1];
10 for(int i=1;i<=p;i++){
11 scanf("%d%d%d",&x,&y,&z);
12 d[x]+=z;d[y+1]-=z;
13 }
14 for(int i=1;i<=n;i++){
15 a[i]=a[i-1]+d[i];
16 ans=min(ans,a[i]);
17 }
18 cout<<ans;
19 }

洛谷P2367 语文成绩(差分)的相关教程结束。

《洛谷P2367 语文成绩(差分).doc》

下载本文的Word格式文档,以方便收藏与打印。