是这样的:可以用一棵四叉线段树维护二维平面信息,每个线段树节点维护一个平面的信息,它(至多)有四个儿子,分别维护将它所维护的平面划分为四个象限的平面的信息。
以下是一个例子:
显然,它的空间复杂度为 O(∣S∣)O(|S|)O(∣S∣),其中 ∣S∣|S|∣S∣ 为全局平面大小。
区域查询的过程是,对于当前线段树节点维护的平面,若它完全被查询平面包含则直接返回节点信息,否则判断查询平面是否与四个象限的平面有交,有则递归到儿子。
虽然这个东西很鸡肋,但是我还是很想知道查询的时间复杂度。然而我不会算啊/kk
有大佬会算吗?/kel