kdt学习笔记

由于本人文笔,理解有限,所有本文大量引用他人的博客,文章。

这段时间学习了一下kdt,发现这个东西很妙妙。

它是干嘛的呢?是一种可以 高效处理  多维空间信息 的数据结构。骗分神器。

特别的,在OI中k一般是2,3,4。当k等于1的时候,可以理解为它就是替罪羊树。

建树

kdt是一个二叉搜索树,每一个节点都代表着一个k维空间中的一个点,都记录着一个k维体,特别的,每个节点的子树里的所有节点都包含在这个k维体中。左右儿子所记录的k维体都是父亲划分而来,这就是kdt的精髓。

具体流程:节选自cmd博客(orz)

 

 对于分割维度的选择,我请教了lxl神仙,得到了准确答复:

 

而且,轮换切割也更好实现。 

对于nth_element,对于初学者肯定会很纳闷,给出oiwiki的介绍

 

posted @ 2023-02-12 18:25  Hanghang007  阅读(89)  评论(0)    收藏  举报