我正在研究一个算法问题,而我在加速它时遇到了障碍。
我有一个函数f(i,j)
,其中i
和j
是整数,因此1 <= i <= j <= n
对于某些上限n
。这个函数已经写好了。
此外,这个函数满足等式f(i, j) + f(j, k) = f(i, k)
。
我需要计算f(x, y)
许多不同的对x, y
。假设n
足够大,存储f(x,y)
每一对可能的对x,y
将占用太多空间。
这类问题有已知的算法吗?我现在使用的那个记忆f
并试图x,y
通过使用上面提到的相等性来减少到先前计算的一对数字,但我的猜测是我没有以一种聪明的方式减少,这会浪费我的时间。
编辑:假设f(i, j)
时间与以j-i
天真的方式计算时成正比。