警示后人
查看原帖
警示后人
963247
Slient_QwQ楼主2024/5/12 00:59

记得每个节点的懒标记都要清空啊,要不然像我一样只清空了叶子节点。

	struct SegTree {
	    int val, tag;
	    
	    SegTree(int _val = 0, int _tag = 0) : val(_val), tag(_tag) {  }
	    
		#define ls(p) (p << 1)
		#define rs(p) (p << 1 | 1)
		#define mid(l, r) (l + r >> 1)
	} tr[N << 2];

	void build(int p, int l, int r) {
      	// 补上 tr[p].tag = 0;
	    if (l == r) return tr[p] = SegTree(f[l]), void();
	
	    build(ls(p), l, mid(l, r));
	    build(rs(p), mid(l, r) + 1, r);
	
	    pushup(p);
	}
2024/5/12 00:59
加载中...