社区讨论

关于 2-D Tree。

P2479[SDOI2010] 捉迷藏参与者 3已保存回复 6

讨论操作

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

当前回复
6 条
当前快照
1 份
快照标识符
@lo2l42as
此快照首次捕获于
2023/10/23 15:36
2 年前
此快照最后确认于
2023/10/23 15:36
2 年前
查看原帖
他想找一个地点,使得该地点到(除了这个地点以外的)最远的地点和最近的地点的距离差最小。iPig现在想知道这个距离差最小是多少。
这个问题可以使用 k=2k=2 情况的 KDT 解决。
下面有两篇题解,在建树的时候都没有使用方差等手段判断目前按照哪一维分割最优。
  • Solution.1 这一篇是直接同时对所有点建树,每一次选择上上次不同的维度分割。这样不开 O2 是过不去的,只有 50pts。
  • Solution.2 这一篇是每次只插入一个点然后使用替罪羊树的方式判断并重构树,不开 O2 可过。但是每次建立/重构子树的时候并没有判断哪个分割维度更优,都是直接选择维度进行分割。
两篇都没有判断并选择更优的那个维度进行分割,但是最后的结果却不同,想问第二种方式的优势在哪里,两种方式的时间复杂度的区别。
另:想问一下在 Solution.1 中,查询时的 KDT 邻域查询单次时间复杂度最坏是否是 O(n)O(n) 的;如果是,同为邻域查询的 Solution.2 为什么可过,是数据的问题还是实现方面的问题。
orz。

回复

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

正在加载回复...