假设我有这个非常常见的 DP 问题(动态编程) -
给定成本矩阵 cost[][] 和 cost[][] 中的位置 (m, n),编写一个函数,返回从 (0, 0) 到达 (m, n) 的最小成本路径的成本。矩阵的每个单元格代表遍历该单元格的成本。到达路径的总成本 (m, n) 是该路径上所有成本的总和(包括源和目的地)。您只能从给定单元格向下、向右和对角向下遍历单元格,即从给定单元格 (i, j)、单元格 (i+1, j)、(i, j+1) 和 (i+1, j+1) 可以遍历。您可以假设所有成本都是正整数。
PS:回答这个 - 8
现在,在解决了这个问题之后..以下问题在我脑海中闪过。
假设我有 1000*1000 矩阵。并且 O(n^2) 将需要一些时间(在英特尔 i5 上肯定小于 1 秒)。但我可以进一步减少它吗?说使用此算法启动 6-8 个线程,然后将它们同步回来最终得到答案?得到答案会很快甚至在逻辑上可能吗?或者我应该把这个想法扔掉