FHQ的finger-search到底应该怎么写?
  • 板块学术版
  • 楼主xqqQwQ_
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/12/25 20:34
  • 上次更新2023/12/25 23:22:30
查看原帖
FHQ的finger-search到底应该怎么写?
480934
xqqQwQ_楼主2023/12/25 20:34

之前听一些大佬说可以像下面这么写,但是我写出来之后发现这东西的复杂度可能是假的(一棵 5e55e5 个节点的树的启发式合并无法在 3030 秒内跑完,保证每个节点的随机权值不相同)。在网上也没有找到很详细的资料。所以就想问问各位大佬们到底该怎么写?

int smerge(int x, int y) {
  if(!x || !y) return x | y;
  if(rn[x] < rn[y]) swap(x, y);
  int xr, yr; split2(y, val[x], xr, yr);
  ls[x] = smerge(ls[x], xr); rs[x] = smerge(rs[x], yr);
  pp(x);
  return x;
}
2023/12/25 20:34
加载中...