一.dp(k,i,j)=min{dp(k-1,i,k)+dp(k-1,k,j)|1<=k<=n};
等式右边的部分 min{dp(k - 1, i, k) + dp(k - 1, k, j) | 1 <= k <= n}
表示通过遍历 k
从 1
到 n
,计算 dp(k - 1, i, k)
和 dp(k - 1, k, j)
的和,并取其中的最小值作为 dp(k, i, j)
的值。
这意味着要得到 dp(k, i, j)
的最优解,需要考虑将区间 (i, j)
以不同的位置 k
进行分割,分别计算分割后的两部分的最优解之和,然后选择其中最小的那个和作为当前状态的最优解。
二.template<typename T>
template<typename T> 是 C++ 模板编程中的一个声明部分。
它表示接下来定义的类、函数或其他代码结构是一个模板,可以接受不同类型的参数 T 。
通过使用模板,我们可以编写通用的代码,能够处理各种不同的数据类型,而无需为每种类型单独编写重复的代码。