关于分段dp的一个小细节

Posted Mint-hexagram

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于分段dp的一个小细节相关的知识,希望对你有一定的参考价值。

for(int i=1; i<=n; i++)
{
    dp[i][0]=sum[i];
    for(int j=1; j<=min(i-1, m); j++)
        for(int k=1; k<i; k++)
            dp[i][j]=max(dp[i][j],dp[k][j-1]*(sum[i]-sum[k]));
}

这是一般的分段dp模版

我对dp式的意义有一些新的理解:

在dp[i][j] = max(dp[i][j],dp[k][j-1] * (sum[i] - sum[k]))中

dp[k][j-1]是断点(算符位置)之前的区间在当前分段方法下得到的数据

而dp[k][j-1]是断点(算符位置)之后的区间在当前分段方法下得到的数据

 

以上是关于关于分段dp的一个小细节的主要内容,如果未能解决你的问题,请参考以下文章

关于if语句中的小细节

关于a标签不能调用js方法的小细节,你注意到了么?

向Linus学习,让代码具有good taste

如何从我的活动中意图在我的标签栏中分段?

Android 关于绘制的一个小细节分享

Android 关于绘制的一个小细节分享