区间DP模板

区间dp一般都比较死板

DP[i][len]表示从 i 开始,长度为 len 

区间dp通常数据N为300,400,500---几百的大小,或者1000

 

    for(int len=2;len<=n;len++)
        for(int i=1;i+len-1<=n;i++)
            for(int j=i;j<i+len-1;j++) //j不能等于i+len-1 一定是要两个区间 [i,j]和[j+1,i+len-1]
                dp[i][len]= min/max (dp[i][len],dp[i][j-i+1]+dp[j+1][i-j+len-1]+work(i,j)+work(j+1,i+len-1) );

 

    for(int len=2;len<=n;len++)
        for(int i=1;i+len-1<=n;i++)
        {
            int j=i+len-1;
            for(int k=i;k<j;k++) dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+work(i,k)+work(k+1,j));
        }

 

posted @ 2023-03-01 22:00  QAQ啥也不会  阅读(23)  评论(0编辑  收藏  举报