使用具有O(n ^ 4)时间复杂度的动态规划是否存在任何示例问题?

时间:2015-04-17 12:20:58

标签: time-complexity dynamic-programming

众所周知,动态规划(DP)通常可以解决时间为O(n ^ 2)或O(n ^ 3)的问题,其中一种天真的方法需要指数时间。但是有没有更难的问题需要O(n ^ 4)时间来解决使用DP?

1 个答案:

答案 0 :(得分:2)

如果你有一个带整数的矩阵,只能向下和向右,你需要找到从左上角到右下角可以得到的最大总和。这可以用O(n ^ 2)(d [i] [j] = max(d [i-1] [j],d [i] [j-1])来解决。但如果它是三维的数组,复杂度为O(n ^ 3)。如果是4维,那么O(n ^ 4)等。