我正在从算法中学习测试,我发现了几天无法处理的问题。所以我写在这里寻求帮助。
对于平面上给定的两个不相交集:
G={(x_1^G, y_1^G), (x_2^G, y_2^G), ..., (x_n^G, y_n^G)}
D={(x_1^D, y_1^D), (x_2^D, y_2^D), ..., (x_n^D, y_n^D)}
Where for every 1 <= i, j <= n we have y_i^D < y_j^G, so G is above D.
找到一个有效的算法,
counts the distance between them
定义为:
d(G,D) = min{ d(a,b): a \in G and b\in D },
where d(a,b) = |x_a - x_b| + |y_a - y_b|
O(n^2) 是微不足道的,所以它不是答案。
我希望解决方案不会太难,因为它是从材料到测试前的审查。有人可以帮忙吗?
我认为这似乎是一些常见问题的特例。但如果是特殊情况,也许解决方案会更容易一些?