求问关于线段树常数/时间复杂度
  • 板块学术版
  • 楼主BLX32M_10
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/10/17 16:37
  • 上次更新2024/10/17 16:42:13
查看原帖
求问关于线段树常数/时间复杂度
529247
BLX32M_10楼主2024/10/17 16:37

提交记录

在 CF992E 中,我的线段树当中查询如下:

inline void qry(int x, int l, int r)
{
    if (res != -1 || c[x] < 0)
        return ;
    if (l == r)
    {
        if (c[x] == 0)
            res = l;
        return ;
    }
    push_down(x, l, r);
    if (c[ls] >= 0)
        qry(ls, l, mid);
    if (res != -1)
        return ;
    if (c[rs] >= 0)
        qry(rs, mid + 1, r);
}

它极限数据跑了惊人的近 500ms。而如果我把 push_down 写在第二个 if 前面,它就水灵灵地 T 了极限数据(3000ms)。求问两者时间复杂度或常数上的差异

2024/10/17 16:37
加载中...