解题思路:
注意事项:
参考代码:
#include<iostream> #include<cstdio> #include<cmath> using namespace std; int f[105][105],w[105],n; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&w[i]); for(int i=1;i<=n;i++) f[i][i]=w[i];//自己到自己也就只能是自己 for(int i=2;i<=n;i++) for(int j=1;j<=n-i+1;j++) { f[j][i+j-1]=abs(w[j]-w[i+j-1])*i; for(int k=j;k<=j+i-2;k++) f[j][i+j-1]=max(f[j][k]+f[k+1][i+j-1],f[j][i+j-1]); } cout<<f[1][n]; return 0; }
0.0分
1 人评分