编程语言
首页 > 编程语言> > 暑假acwing算法总结32:区间DP

暑假acwing算法总结32:区间DP

作者:互联网

#include<iostream>
using namespace std;
const int N=310;
int f[N][N];
int a[N];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) a[i]+=a[i-1];
    for(int len=2;len<=n;len++)
    {
        for(int i=1;i+len-1<=n;i++)
        {
            int l=i,r=i+len-1;
            f[l][r]=2e9;
            for(int k=l;k<r;k++)
            f[l][r]=min(f[l][r],f[l][k]+f[k+1][r]+a[r]-a[l-1]);
        }
    }
    cout<<f[1][n]<<endl;
    return 0;
}

标签:遍历,int,32,len,两堆,Huffman,DP,acwing
来源: https://blog.csdn.net/cjp_kangkang_/article/details/119320948