萌新线段树求助玄关!!!
查看原帖
萌新线段树求助玄关!!!
1399216
_Gloaming_楼主2024/8/12 16:19
ll AskRange(int pos, int x, int y) { //区间询问
	if (x <= s[pos].l && s[pos].r <= y) {
		return s[pos].sum;
	}
	
	pushdown(pos);
	ll val = 0;
	int mid = (s[pos].l + s[pos].r) >> 1;
	if (x <= mid) val = (val + AskRange(pos << 1, x, y)) % mod;
	if (y > mid) val = (val + AskRange(pos << 1 | 1, x, y)) % mod;
	return val;
}

(截的题解) 这个算的不是区间和吗?为什么不能直接输出这一段区间标号的sum?而且为什么要+=子区间内的和???

2024/8/12 16:19
加载中...