题解
2024-07-30 16:00:08
发布于:广东
31阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int N=3e2+5;
int n,sum[N],ac[N][N],a[N];
int main(){
memset(ac,0x3f,sizeof(ac));
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
sum[i]=sum[i-1]+a[i];
ac[i][i]=0;
}
for(int i=2;i<=n;i++)
for(int j=1;j+i-1<=n;j++){
int r=j+i-1;
for(int k=j;k<r;k++)
ac[j][r]=min(ac[j][r],ac[j][k]+ac[k+1][r]+sum[r]-sum[j-1]);
}
cout<<ac[1][n];
return 0;
}
这里空空如也
有帮助,赞一个