区间最值区间修改线段树求助
  • 板块学术版
  • 楼主Engulf
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/2/11 18:03
  • 上次更新2023/10/28 08:52:16
查看原帖
区间最值区间修改线段树求助
482728
Engulf楼主2022/2/11 18:03

为什么区间修改的 push_down 不是

void push_down(int p){
    tr[ls(p)].add+=tr[p].add;
    tr[rs(p)].add+=tr[p].add;
    tr[ls(p)].min+=(tr[ls(p)].r-tr[ls(p)].l+1)*tr[p].add;
    tr[rs(p)].min+=(tr[rs(p)].r-tr[rs(p)].l+1)*tr[p].add;
    tr[p].add=0;
}

而是

void push_down(int p){
    tr[ls(p)].add+=tr[p].add;
    tr[rs(p)].add+=tr[p].add;
    tr[ls(p)].min+=tr[p].add;//这里
    tr[rs(p)].min+=tr[p].add;//和这里
    tr[p].add=0;
}

区间更新为什么只用加上懒标记?

2022/2/11 18:03
加载中...