求救
查看原帖
求救
251632
LANQINHAN楼主2021/4/10 14:57
#include<iostream>//To Be Continued
#include<cstdio>
#include<cmath>
#include<iomanip>
#include<cstring>
#include<string>
#include<fstream>
#include<algorithm>
#include<cctype>
#include<bits/stdc++.h>
using namespace std;
int n,m;
int sum;
int a[1000000];
int ans;
int dp[1000][1000];
int dp1[1000][1000];
int s[100000];
int main() {
	cin>>n;
	memset(dp,63,sizeof(dp));
	for(int i=1; i<=n; i++) {
		cin>>a[i];
		a[i+n]=a[i];
		s[i]=s[i-1]+a[i];
	}
	for(int i=1; i<=2*n; i++) {
		dp1[i][i]=0;
		dp[i][i]=0;
	}
	for(int j=2; j<n+n; j++) {
		for(int i=j-1; i>=1; i--) {
			for(int k=i; k<j&&j-i<n; k++) {
				dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]);
				dp1[i][j]=max(dp1[i][j],dp1[i][k]+dp1[k+1][j]);
			}
			dp[i][j]+=s[j]-s[i-1];
			dp1[i][j]+=s[j]-s[i-1];
		}
	}
	cout<<dp[1][n]<<endl;
	cout<<dp1[1][n]<<endl;
	return 0;
}
调了几个月了,人都傻了,求助
2021/4/10 14:57
加载中...