70RE3个点
查看原帖
70RE3个点
677002
_molee_楼主2024/7/17 17:53
#include<bits/stdc++.h>
using namespace std;
long long n,a[40001],s[40001],f[2001][2001]; 
int main(){
	cin>>n;
	memset(f,127,sizeof(f));
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		s[i]=s[i-1]+a[i];
		f[i][i]=0;
	}
	for(int l=2;l<=n;l++)
	{
		for(int i=1;i<=n-l+1;i++)
		{
			int j=i+l-1;
			for(int k=i;k<j;k++)
			{
				f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+s[j]-s[i-1]);
			}
		}
	}
	cout<<f[1][n];
	return 0;
}

记录

2024/7/17 17:53
加载中...