社区讨论

灵异线段树

学术版参与者 6已保存回复 25

讨论操作

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

当前回复
25 条
当前快照
1 份
快照标识符
@lzgzm39d
此快照首次捕获于
2024/08/05 20:48
2 年前
此快照最后确认于
2024/08/05 21:36
2 年前
查看原帖
我的 query()
CPP
int query(int u, int l, int r)
{
    if (l <= arr[u].l && arr[u].r <= r)
        return arr[u].w;
    else
    {
        int mid = (arr[u].l + arr[u].r) / 2, res = 0;
        if (l <= mid)
            res = Max(res, query(2 * u, l, r));
        if (r > mid)
            res = Max(res, query(2 * u + 1, l, r));
        return res;
    }
}
标程的 query()
CPP
int query(int p, int x, int y)
{
    if (arr[p].l == x && arr[p].r == y)
        return arr[p].w;
    else
    {
        int mid = (arr[p].l + arr[p].r) / 2;
        if (mid < x)
            return query(2 * p + 1, x, y);
        else if (mid >= y)
            return query(2 * p, x, y);
        else
            return Max(query(2 * p, x, mid), query(2 * p + 1, mid + 1, y));
    }
}
结果是我获得 WA 0 分好成绩,请问这两个有什么区别?

回复

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

正在加载回复...