社区讨论

“题解同质化严重”是一个很严重的问题

P3372【模板】线段树 1参与者 21已保存回复 31

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
31 条
当前快照
1 份
快照标识符
@mhj91nqg
此快照首次捕获于
2025/11/03 22:42
4 个月前
此快照最后确认于
2025/11/03 23:23
4 个月前
查看原帖
我今天上课闲着没事翻 codeforces 上 rainboy 用户提交的程序,然后我看到了一个很神秘的东西
C
void build(int n) {
	n_ = 1;
	while (n_ < n)
		n_ <<= 1;
	memset(ss, 0, n_ * 2 * sizeof *ss);
	memset(qq, 0, n_ * 2 * sizeof *qq);
}

void pul(int i) {
	int l = i << 1, r = l | 1;

	ss[i] = ss[l] + ss[r];
	qq[i] = max(qq[l] + ss[r], qq[r]);
}

void update(int i, int x) {
	i += n_;
	qq[i] = max(ss[i] += x, 0);
	while (i > 1)
		pul(i >>= 1);
}

int query(int i) {
	int l = i, r = n_ - 1, s = 0;

	for (l += n_, r += n_; l <= r; l >>= 1, r >>= 1)
		if ((l & 1) == 1)
			s += ss[l++];
	return s;
}
我立刻意识到这个东西是一个线段树。
但是,在我查找洛谷题解区的时候,我翻了好几页也没有找到这种实现的讲解。(不过万幸我在 catalog 里找到了这样的线段树)
我现在真正意识到题解同质化的严重问题,尤其是模板题里。
如果这个帖子无意义请联系我删了,现在我要出勤玩舞萌dx新版本

回复

31 条回复,欢迎继续交流。

正在加载回复...