问题给定N个3维点,即{$p_1,p_2,..,p_n $},其中$p_i =(x_i,y_i,z_i)$.我必须找到公式的价值
对于某些给定的常数P,Q,R,S.
所有数字都在1到M(= 100)之间.
我需要一种有效的方法来计算这个公式
请告诉我们如何比$O(n ^ 2)$更好地降低复杂性
最佳答案 假设所有坐标都在1到100之间,那么您可以通过以下方式执行此操作:
>计算所有点O(100 * 100 * 100)运算的3d直方图.
>使用FFT计算沿3个轴中每个轴的直方图卷积
这将产生3d矢量的3d直方图.然后,您可以迭代此直方图以计算所需的值.
重点是计算值的直方图的卷积计算这些值的成对差异的直方图.这也可以用于以类似的方式计算值之和的直方图.