请问各位大佬,本代码哪里错了?
2025-07-10 10:29:56
发布于:浙江
32阅读
0回复
0点赞
#include<cstdio>
#include<climits>
long long a[205],b[205],dp[205][205];
int n;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
for(int i=1;i<=n;i++) scanf("%lld",&b[i]);
b[0]=0; b[n+1]=0;
for(int i=1;i<=n;i++) dp[i][i] = a[i] + b[i-1] + b[i+1];
for(int l=2;l<=n;l++){
for(int i=1;i+l-1<=n;i++){
int j = i + l - 1;
long long r = LLONG_MAX;
for(int k=i;k<=j;k++){
long long c = (k>i ? dp[i][k-1] : 0) + (k<j ? dp[k+1][j] : 0) + a[k];
if(c < r) r = c;
}
dp[i][j] = r + b[i-1] + b[j+1];
}
}
printf("%lld\n", dp[1][n]);
return 0;
}
全部评论 4
d
2025-07-10 来自 浙江
0d
2025-07-10 来自 浙江
0d
2025-07-10 来自 浙江
0d
2025-07-10 来自 浙江
0
有帮助,赞一个