#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define ll unsigned long long
#define maxn 100001
#define lson u<<1,l,mid
#define rson u<<1|1,mid+1,r
using namespace std;
int n,q;
int t,a,b;
struct node{
ll ans;
int l,r;
}e[maxn*4];
void build(int k,int l,int r)
{
e[k].l=l;e[k].r=r;
e[k].ans=0;
if(l==r)return ;
int mid=(l+r)>>1;
build(k<<1,l,mid);
build(k<<1|1,mid+1,r);
}
void update(int u,int l,int r,int x,int add)
{
if(l==r)
{
e[u].ans+=add;
return;
}
int mid=(l+r)>>1;
if(x<=mid) update(lson,x,add);
else update(rson,x,add);
e[u].ans=max(e[u<<1].ans,e[u&l
【裸线段树】Uestc-数据结构专题训练【A】
最新推荐文章于 2019-04-08 00:16:29 发布