Imagine we have an N-dimensional space where each dimension can only have integer values. Imagine further that this space has a set of hypercubes scattered about, each hypercube with its own position and dimensions. How can we compile a decision tree, given a description of the hypercubes, that tells us, as quickly as possible, which hypercubes an arbitrary point lies inside? Is there some existing technique for doing this?