小问题玄关!!!
查看原帖
小问题玄关!!!
1399216
_Gloaming_楼主2024/7/22 20:32

这个区间DP公式是怎么推出来的???题解看不懂!!!

for(int len=2;len<=n;len++)
    for(int i=1;i<=2*n-len+1;i++)//i是合并段开头
    {
        int mn=0x7fffffff,mx=0,j=i+len-1;//j是合并段结尾
        for(int k=i;k<j;k++)
        {
            mn=min(mn,f1[i][k]+f1[k+1][j]+w[j]-w[i-1]);//把i~j从k切成两段,把两段总代价与此次合并代价相加,下同
            mx=max(mx,f2[i][k]+f2[k+1][j]+w[j]-w[i-1]);
        }
        f1[i][j]=mn;f2[i][j]=mx;
    }

2024/7/22 20:32
加载中...