20pts,玄关,求调教
查看原帖
20pts,玄关,求调教
602632
_7Mr楼主2023/8/18 09:31
#include<bits/stdc++.h>
#define int long long
#define double long double
#define INF INT_MAX
using namespace std;
const int maxn=3e2+5;
int n;
int a[maxn],qzh[maxn],dp[maxn][maxn];
signed main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i],qzh[i]=qzh[i-1]+a[i];
    memset(dp,0x3f,sizeof(dp));
    for(int i=1;i<=n;i++) dp[i][i]=0;
    for(int l=1;l<n;l++){
    	for(int r=l+1;r<=n;r++){
    		for(int mid=l;mid<r;mid++){
    			dp[l][r]=min(dp[l][r],dp[l][mid]+dp[mid+1][r]);
			}
			dp[l][r]+=qzh[r]-qzh[l-1];
		}
	}
	cout<<dp[1][n]<<endl;
    return 0;
}

2023/8/18 09:31
加载中...