使用具有 O(n^4) 时间复杂度的动态编程是否有任何示例问题?
Is there any example problems using Dynamic Programming having O(n^4) time complexity?
正如我们所知,动态规划 (DP) 通常可以在 O(n^2) 或 O(n^3) 时间内解决问题,而朴素的方法将花费指数时间。但是有没有更难的问题需要 O(n^4) 的时间来使用 DP 来解决?
如果你有一个整数矩阵并且只能向下和向右移动,你需要找到从左上角到右下角可以得到的最大和。这可以在 O(n^2) (d[i][j] = max(d[i-1][j], d[i][j-1]) 中解决。但是如果它是 3 维的数组,复杂度为 O(n^3)。如果它是 4 维,则 O(n^4) 等
正如我们所知,动态规划 (DP) 通常可以在 O(n^2) 或 O(n^3) 时间内解决问题,而朴素的方法将花费指数时间。但是有没有更难的问题需要 O(n^4) 的时间来使用 DP 来解决?
如果你有一个整数矩阵并且只能向下和向右移动,你需要找到从左上角到右下角可以得到的最大和。这可以在 O(n^2) (d[i][j] = max(d[i-1][j], d[i][j-1]) 中解决。但是如果它是 3 维的数组,复杂度为 O(n^3)。如果它是 4 维,则 O(n^4) 等