萌新刚学李超树,求助
  • 板块学术版
  • 楼主lzh123bc
  • 当前回复4
  • 已保存回复5
  • 发布时间2023/12/13 14:53
  • 上次更新2023/12/13 17:42:57
查看原帖
萌新刚学李超树,求助
531197
lzh123bc楼主2023/12/13 14:53

rt,求这几行代码的含义

void upd(int root, int cl, int cr, int u) {  // 对线段完全覆盖到的区间进行修改
  int &v = s[root], mid = (cl + cr) >> 1;
  int bmid = cmp(calc(u, mid), calc(v, mid));
  if (bmid == 1 || (!bmid && u < v)) swap(u, v);
  int bl = cmp(calc(u, cl), calc(v, cl)), br = cmp(calc(u, cr), calc(v, cr));
  if (bl == 1 || (!bl && u < v)) upd(root << 1, cl, mid, u);
  if (br == 1 || (!br && u < v)) upd(root << 1 | 1, mid + 1, cr, u);
}

完整代码

2023/12/13 14:53
加载中...