建设工程质量检测网站,wordpress cx-udy,获得网站源文件,公司网站备案需要什么1、B站视频链接#xff1a;C02【模板】线段树懒标记 Luogu P3372 线段树 1_哔哩哔哩_bilibili
题目链接#xff1a;P3372 【模板】线段树 1 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) void build(int p,int l,int r){tr[p]{l,r,w[l],0};if(lr)return;//叶子节点返回int…1、B站视频链接C02【模板】线段树懒标记 Luogu P3372 线段树 1_哔哩哔哩_bilibili
题目链接P3372 【模板】线段树 1 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) void build(int p,int l,int r){tr[p]{l,r,w[l],0};if(lr)return;//叶子节点返回int mlr1;//不是则裂开build(lc,l,m);build(rc,m1,r);pushup(p);
} void upadate(int p,int x,int y,int k){if(xtr[p].ltr[p].ry){//覆盖则修改 tr[p].sum(tr[p].r-tr[p].l)*k;tr[p].addk;//记上帐return; }int mtr[p].ltr[p].r1;//不覆盖则裂开pushdown(p);if(xm)update(lc,x,y,k);if(ym)update(rc,x,y,k);pushup(p);
} #define lc p1
#define rc p1|1
#define N 100005
int n,w[N];
struct node{int l,r,sum,add;//add是懒标记
}tr[N*4];void pushup(int p){//向上更新 儿子到父亲 tr[p].sumtr[lc].sumtr[rc].sum;
}
void pushdown(int p){//向下更新父亲还账账 if(tr[p].add){//父亲有欠账 tr[lc].sumtr[p].add*(tr[lc].r-tr[lc].l1),//还给左 tr[rc].sumtr[p].add*(tr[rc].r-tr[rc].l1),//还给右儿子tr[lc].addtr[p].add;tr[rc].addtr[p].add;tr[p].add0;//帐还完了 }
}
void build(int p,int l,int r){tr[p]{l,r,w[l],0};if(lr)return;//叶子节点返回int mlr1;//不是则裂开build(lc,l,m);build(rc,m1,r);pushup(p);
}
void upadate(int p,int x,int y,int k){if(xtr[p].ltr[p].ry){//覆盖则修改 tr[p].sum(tr[p].r-tr[p].l)*k;tr[p].addk;//记上帐return; }int mtr[p].ltr[p].r1;//不覆盖则裂开pushdown(p);if(xm)update(lc,x,y,k);if(ym)update(rc,x,y,k);pushup(p);
}
int query(int p,int x,int y){if(xtr[p].ltr[p].ry)return tr[p].sum;//覆盖则返回int mtr[p].ltr[p].r1;//裂开pushdown(p);int sum0;if(xm)sumquery(lc,x,y);if(ym)sumquery(rc,x,y);return sum;
}