社区讨论
警示后人
P6329【模板】点分树 / 震波参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m3d0pkwh
- 此快照首次捕获于
- 2024/11/11 20:46 去年
- 此快照最后确认于
- 2025/11/04 14:53 4 个月前
如果你TLE on #1 #2 #4 #6 #10
可能是你的线段树写炸了(虽然我也不知道为什么能过这么多点
具体来说,这份 是错的
CPPint query (int p, int l, int r, int L, int R)
{
if (!p) return 0;
if (L <= l && r <= R) return val (p);
int mid = (l + r) >> 1;
if (l <= mid && r <= mid) return query (ls (p), l, mid, L, R);
else if (l > mid && r > mid) return query (rs (p), mid + 1, r, L, R);
else return query (ls (p), l, mid, L, R) + query (rs (p), mid + 1, r, L, R);
}
应该是
CPPint query (int p, int l, int r, int L, int R)
{
if (!p) return 0;
if (L <= l && r <= R) return val (p);
int mid = (l + r) >> 1;
if (L <= mid && R <= mid) return query (ls (p), l, mid, L, R);
else if (L > mid && R > mid) return query (rs (p), mid + 1, r, L, R);
else return query (ls (p), l, mid, L, R) + query (rs (p), mid + 1, r, L, R);
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...